• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    如何用QTP調用外部vbs讀寫XML

    發布: 2009-5-09 23:18 | 作者: Cheers.Lee | 來源: 測試時代采編 | 查看: 482次 | 進入軟件測試論壇討論

    領測軟件測試網

    目前,企業中對XML的應用越來越廣泛,作為自動化測試測試工程師,也應該掌握XML的讀寫操作。
    以下我使用XML DOM技術演示一個例子,用以讀取XML指定節點的節點內容值。
        讀取函數原型 GetXml strXmlPath,nodeName .這個函數的第一個參數表示xml文件所在路徑,第二個參數表示希望獲取到的xml節點名,請結合下列例子看
        首先,新建一個vbs文件(取個名字叫readXml.vbs),輸入代碼:

     

     代  碼:  '==================================================================
    '   Author  : songfun
    '
    '  Description :  Read XML
    '==================================================================
    Dim strXML

    GetXml "c:\search.xml","TestResult"  '這個函數的第一個參數表示xml文件所在路徑,第二個參數表示希望獲取到的xml節點名,請結合下列例子看
    MsgBox strXML


    Function GetXml (ByVal strXmlFilePath,ByVal xmlNodeName)
            Dim xmlDoc,xmlRoot
           
            Set xmlDoc = CreateObject("Microsoft.XMLDOM") '創建XML DOM對象
            xmlDoc.async = False  '控制加載模式為同步模式(xml樹加載完畢后再執行后續代碼)
            xmlDoc.load strXmlFilePath        '載入xml文件
            If xmlDoc.parseError.errorCode <> 0 Then
                    MsgBox "XML文件格式不對,原因是:" & Chr(13) &  xmlDoc.parseError.reason
                    Exit Function               
            End If
            Set xmlRoot = xmlDoc.documentElement       
            xmlRecursion xmlRoot,xmlNodeName        '調用xml遞歸函數傳入指定的根和節點名       
            GetXml = True 'xmlRecursion (xmlRoot)
           
    End Function

    Function xmlRecursion(byval xmlNode,byval strNodeName)
            If xmlNode.nodeName = strNodeName And xmlNode.hasChildNodes Then
                    If  xmlNode.childNodes.item(0).nodeName = "#text" Then
                            strXML = strXML & xmlNode.nodeName & ":" & xmlNode.childNodes.item(0).nodeValue & Chr(13)                                              
                    End If               
            End If                       
            If xmlNode.hasChildNodes Then
                    For Each childNodeItem In xmlNode.ChildNodes
                            If childNodeItem.hasChildNodes Then
                                    xmlRecursion childNodeItem,strNodeName                              
                            End If                       
                    Next
            End If       
    End Function

        接著,自己構造一個xml文件(取個名字叫search.xml),如:

     代  碼:

     <?xml version="1.0" encoding="GB2312"?>

    <ROOT>
            <TestCase>
                    <TestNumberOne>1</TestNumberOne>
                    <TestNumberTwo>2</TestNumberTwo>
                    <TestNumberThree>+</TestNumberThree>
                    <TestResult>3</TestResult>
            </TestCase>
            <TestCase>
                    <TestNumberOne>3</TestNumberOne>
                    <TestNumberTwo>2</TestNumberTwo>
                    <TestNumberThree>-</TestNumberThree>
                    <TestResult>1</TestResult>
            </TestCase>
            <TestCase>
                    <TestNumberOne>3</TestNumberOne>
                    <TestNumberTwo>7</TestNumberTwo>
                    <TestNumberThree>*</TestNumberThree>
                    <TestResult>21</TestResult>
            </TestCase>
            <TestCase>
                    <TestNumberOne>2</TestNumberOne>
                    <TestNumberTwo>5</TestNumberTwo>
                    <TestNumberThree>/</TestNumberThree>
                    <TestResult>0.4</TestResult>
            </TestCase>       
    </ROOT>

     

    然后,在QTP的expert view中調用剛才寫的vbs文件:
    executefile "c:\readXml.vbs"

    點“Run”,就能看到這個效果了。如圖:

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: qtp QTP vbs xml XML


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>