<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

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

            軟件測試工具QTP經(jīng)驗總結

            發(fā)布: 2010-11-04 09:58 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 500次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試工具QTP經(jīng)驗總結

            Mercury QuickTest 企業(yè)級自動(dòng)化測試工具!   目前已經(jīng)被惠普收購,正式名字為HP QuickTest Professional software ,最新的版本為HP QuickTest Professional 10.0.   HP QuickTest Professional 提供符合所有主要應用軟件環(huán)境的功能測試回歸測試的自動(dòng)化。采用關(guān)鍵字驅動(dòng)的理念已簡(jiǎn)化測試用例的創(chuàng )建和維護。它讓用戶(hù)可以直接錄制屏幕上的操作流程,自動(dòng)生成功能測試或者回歸測試用例。專(zhuān)業(yè)的測試者也可以通過(guò)提供的內置腳本和調試環(huán)境來(lái)取得對測試和對象屬性的完全控制。
            1、拆分語(yǔ)句split
            例:取得當前日期后拆分
            riqi=date()
                my=split(riqi,"-")
                riqi=my(1)&"月"&my(2)&"日"
                datatable("riqi",DtGlobalSheet)=riqi
                本地表:DataTable("a", dtLocalSheet)
            riqi= year(date)& "-" & Right("0"& month(date),2) & "-"&Right("0"&   Day(Date),2)

            2、取得表格中某行某列的值GetCellData
            例:飛機票取票價(jià)
            shuA=Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebTable("New York to Zurich").GetCellData(3,3)


            3、取距某年某月某日的天數datediff
            例:計算距2008-08-08奧運天數
            datediff("d",now,"2008-8-8")


            4、描述性編程text:=
            例:取得某頁(yè)面上某文字的鏈接
            Browser("").Page("").Link("text:=娛樂(lè )").Click
                 或
                 neirong="娛樂(lè )"
                 Browser("").Page("").Link("text:="&neirong).Click


            5、網(wǎng)頁(yè)中HTML編輯器的錄制
            功能:驗證126郵箱的發(fā)信功能正確
            操作步驟:
                  a.錄制腳本,動(dòng)作包括整個(gè)發(fā)信的過(guò)程。
                  b.修改腳本,在輸入信件主題代碼后加wait 10語(yǔ)句
                   c.回放腳本,觀(guān)察在郵件正文中輸入的內容,回放時(shí)QTP是否寫(xiě)入
                  d.重新修改腳本,保證回放時(shí)QTP在郵件正文中寫(xiě)入內容

            英文解決方案:
                Browser("網(wǎng)易126免費郵--你的專(zhuān)業(yè)電子郵局").Page("網(wǎng)易電子郵箱 - xueqinzhaoqing@126.co").Frame("indexFrame").WebEdit("subject").Click
                wait 1
                 Setting.WebPackage( "ReplayType")=2      '配置使用瀏覽器事件或鼠標運行鼠標操作的'方式.1 - 使用瀏覽器事件運行鼠標操作,2 - 使用鼠標運行鼠標操作。
                 Set ōbj=createobject("wscrīpt.shell")
                 obj.sendkeys "{TAB}"
                 wait 2
                 obj.sendkeys "abc1111"
                 wait 1
                 Setting.WebPackage( "ReplayType")=1
            中文解決方案

            strCopy = "軟件測試."
            Set ōbjIE = CreateObject("InternetExplorer.Application")
            objIE.Navigate("about:blank")
            objIE.document.parentwindow.clipboardData.SetData "text", strCopy
            objIE.Quit

            wait 1
            Setting.WebPackage( "ReplayType")=2
            Set ōbj=createobject("wscrīpt.shell")
            obj.sendkeys "{TAB}"
            wait 2
            obj.sendkeys "^v"
            wait 1
            Setting.WebPackage( "ReplayType")=1

            6.使用Multi Test Manager添加文件時(shí)可以直接往里拖的哦。

            7.函數:新建記事本,改名為public.vbs例:
               function ZHIRSS
            ZHIRSS="RSS行業(yè)資訊分類(lèi)維護"
            end function
            使用語(yǔ)句executefile "d:\zhaopin\case\denglu.vbs"或設置QTP test/settings/resources/+函數目錄

            8.設置動(dòng)作循環(huán):右擊/actiong call properties/run on all rows

            9.設置動(dòng)作允許被調用:右擊/action properties/general/reusable action打勾

            10.QTP與MTM連接:Tools/option/run/allow other mercury products to run...

            11.插入已存在的動(dòng)作1)insert/call to copy of action...復制可修改
                               2)insert/call to existing of action...復制不可修改

            12.QTP報告自動(dòng)跳出設置:Options>Run>View results when run session ends

            13.判斷表格是否存在:
            If Browser("數商3.0后臺管理系統").Page("Page").Frame("main_5").WebTable("標題").Exist then
            reporter.ReportEvent 0,"pass","系統顯示了所有的資訊列表!"
            else
            reporter.ReportEvent 1,"fail","系統沒(méi)有顯示資訊列表!"
            end if

            14.獲取表格行數:Browser("數商3.0后臺管理系統").Page("Page").Frame("main_5").WebTable("標題").RowCount

            15.注釋腳本存在位置:qtp/dat/ActionTemplate.mst

            16取本地文件名稱(chēng)Function ShowFileList(folderspec)
               Dim fso, f, f1, fc, s
               Set fso = CreateObject("scrīpting.FileSystemObject")
               Set f = fso.GetFolder(folderspec)
               Set fc = f.Files
               For Each f1 in fc
                  s = s & f1.name
                  s = s &   " "
               Next
               ShowFileList = s
            End Function
            wenjian=ShowFileList("D:\下載\本地下載1\")

            17.取本地文件刪除:del= DeleFile("D:\下載\本地下載1\")
            Function DeleFile(folderspec)
               Dim fso, f, f1, fc, s
               Set fso = CreateObject("scrīpting.FileSystemObject")
               Set f = fso.GetFolder(folderspec)
               Set fc = f.Files
               For Each f1 in fc
                     f1.delete
               Next
            End Function

            18.sousuo2=Browser("Browser").Page("Page_4").Check (CheckPoint("2007-11-08 14:21"))
            If (sousuo2)eqv(true) Then
                reporter.ReportEvent 0,"",""
            else
               reporter.ReportEvent 1,"",""
            End If

            19.取參數化數據的行數,只在某幾行進(jìn)執行某些語(yǔ)句
            row=datatable.GetSheet(3).getcurrentrow
            If row = 3 Or row = 4 Then

            20.單選框置灰zhihui=Browser("下載中心--新增下載文件").Page("下載中心--新增下載文件_4").WebRadioGroup("downloadType").GetROProperty("disabled")
            If zhihui=1 Then
            End If

            29.取樹(shù)結構
            Set Desc=descrīption.create
            Desc("micclass").value="WebTable"
            Set List=Browser("Browser").Page("Page").Frame("main").ChildObjects(Desc)
            yuqi=List(0).GetROProperty("innertext")
            msgbox yuqi
            yuqi=split(yuqi," ")
            msgbox yuqi(1)

            30.關(guān)閉所有IE
            SystemUtil.CloseProcessByName("iexplore.exe")

            31.創(chuàng )建action template.
                當希望在每一個(gè)新建action時(shí)都增加一些頭部說(shuō)明,比如作者、創(chuàng )建日期、說(shuō)明等,用action template
                來(lái)實(shí)現最簡(jiǎn)單快捷。
                方法:用記事本等文本編輯器,輸入如下類(lèi)似的內容:
                      'Company: xxxx
                      'Author: xxx
                      'Product: xxx
                      'Date: xx
                     然后將文件保存為ActionTemplate.mst,并存放到QTP安裝目錄下的dat目錄。

            32.啟動(dòng)IE的語(yǔ)句:SystemUtil.Run "iexplore.exe", "http://www.***.com"
               關(guān)閉IE或其他程序的語(yǔ)句:SystemUtil.CloseProcessByName "app.exe"
                 or SystemUtil.CloseProcessByWndTitle "Some Title"

            33.獲取圖片的名稱(chēng)
            ObjectName = Browser(…).Page(…).Image("Find").GetProperty("Name")

            34.檢查某個(gè)對象是否存在,如果存在彈出對話(huà)框說(shuō)明對象存在。
            If Browser("Browser").Page("Page").Applet("login.html").JavaEdit("username").Exist Then
            MsgBox("The object exists.")
            End if

            35.同步點(diǎn)
            Browser("數商3.0制作平臺").Dialog("Microsoft Internet Explorer").WaitProperty "visible", True, 120000
            設置test/test settings/object synchronizationg timeout 一致

            36.視圖框顯示為亂碼時(shí):調整原頁(yè)面編碼,在QTP/tools/change active screen

            37.添加附件:
               Browser("**").Page("**").WebFile("filePath").Click
            Browser("**").Dialog("**").WinEdit("文件名(N):").Set "D:\**.jpg"
            Browser("下載中心--新增下載文件").Dialog("選擇文件").WinButton("打開(kāi)(O)").Click
            添加相應的對象


            38.在圖片上右擊添加:tools/web event recording configuration/custom settings
            webedit/event/add/onblur,onchange,onfocus,onpropertychan,onsubmit
            webdlement/event/add/onclick,onmousedown,onmouseup/listen always

            39.數據執行保護
            方法一、右擊我的電腦/高級/性能/設置/數據執行保護/為除下列選定程序之外的所有程序和服務(wù)啟用DEP/添加被保護的程序。
            方法二、C:/BOOT.INT修改noexecute=alwaysoff

            40.在圖片上右擊添加:tools/web event recording configuration/custom settings
            webedit/event/add/onblur,onchange,onfocus,onpropertychan,onsubmit
            webdlement/event/add/onclick,onmousedown,onmouseup/listen always

            41.去掉前后空格
            If trim(mingcheng)=trim(yuqi) Then

            42.分類(lèi)樹(shù)問(wèn)題解決
            Set Desc=descrīption.create
            Desc("micclass").value="WebTable"
            Set List=Browser("Browser").Page("Page").Frame("main").ChildObjects(Desc)
            yuqi=List(0).GetROProperty("innertext")
            msgbox yuqi
            yuqi=split(yuqi," ")
            msgbox yuqi(1)


            43.引用自定義環(huán)境變量
            Environment.LoadFromFile "D:\詢(xún)價(jià)\case\環(huán)境\huiyuan.xml"

            44. 環(huán)境變量有2種,一種是QTP的內置變量,一種是用戶(hù)自定義的變量。內置變量是可以直接就可以用,自定義環(huán)境變量需要在菜單中選擇“文件”——> “設置”——>“環(huán)境”,在變量類(lèi)型中選擇“用戶(hù)自定義”,然后進(jìn)行添加,可以對添加的變量全部導出,導出的文件為.xml格式的文檔。既然可以導 出,那么必然可以導入.xml文件,你可以在該對話(huà)框中的選中“從外部文件導入”,然后添加其文件路徑即可。(當然這些操作都可以直接使用腳本來(lái)實(shí)現, 如:Environment.LoadFromFile(“FileName”))
            例如:在桌面建立一個(gè)Var.xml,如下
            -<Environment>    //以這個(gè)開(kāi)始的內部都是定義環(huán)境變量,直到以</Environment>結束
            - <Variable>                           // 變量定義起始標識
                             <Name>aa</Name>               // 變量名稱(chēng)
                             <Value>11</Value>               // 變量值
                    </Variable>                            // 變量定義結束標識
            - <Variable>
                             <Name>bb</Name>
                             <Value>22</Value>
                    </Variable>
            - <Variable>
                             <Name>cc</Name>
                             <Value>33</Value>
                          </Variable>
            </Environment>
            然后導入本測試的環(huán)境變量文件中,在專(zhuān)家視圖里編寫(xiě)下面的腳本代碼:
            Dim aParam3
            aParam3=Environment.Value(“aa”)          // 調用環(huán)境變量
            msgbox aParam3
            運行測試,會(huì )輸出”11”

            45.在HTML編輯器中寫(xiě)入數據
            用低水平錄制寫(xiě)入編輯器過(guò)程,增加編輯部器前的對象,加入click事件,再用TAB
            例如:
            Browser("廣告管理").Page("廣告管理").WebEdit("descrīption").Click
            Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Type mictab
            Window("Microsoft Internet Explorer").WinObject("Internet Explorer_Server").Type "aaa"

            46.Browser("creationtime:=1").close
               兩個(gè)頁(yè)面title相同無(wú)法識別時(shí)使用描述必編輯
                Browser("creationtime:=1").page(title:=****).WebEdit("name:=***").Set "***"
                或Browser("creationtime:=1").page(index:=1).WebEdit("index:=0").Set "***"

            47.場(chǎng)景恢復:
               當某些提示框會(huì )在不定期時(shí)有提示時(shí),如果自動(dòng)點(diǎn)擊確定或某些按鈕
               1、tools/recovery scenaril manager,制作相應的提示框和要點(diǎn)擊的按鈕,并保存
               2、test/settings/recovery,添加剛保存的.qrs

            48.輸入驗證碼,先提示一個(gè)輸入框,在輸入框內輸入驗證碼,點(diǎn)擊[確定],把輸入的驗證碼框
               Dim a
            a = InputBox("輸入名字")

            49.對象庫中對象名稱(chēng)不分為_(kāi)2,_3...設置:tool/options/web/page/fram options/
                 crate a new page test object for為different test object descrīptons
                 crest a new frame test object for為different test object descrīptions

            50.驗證測試輸入框輸入的最大允許字數功能的正確

            QTP腳本代碼中編寫(xiě)
            Set aa=Browser("Browser").Page("Page").Frame("main").WebEdit("PayTypeName")
            if konglen(aa,20) eqv true then
            reporter.ReportEvent 0,"添加支付方式,支付方式輸入框允許輸入的最大字符功能正確",""
            else
            reporter.ReportEvent 1,"添加支付方式,支付方式輸入框允許輸入的最大字符功能錯誤",""
            end if

            此函數的功能為:驗證測試輸入框輸入的最大允許字數功能的正確,函數可寫(xiě)在public.vbs中
            Function konglen(duixiang,guifanshu)
            duixiang.Click
            wait 1
            Setting.WebPackage( "ReplayType")=2
            Set ōbj=createobject("wscrīpt.shell")
            i=0
            ōld="a"
            xin="b"
            while old<>xin
            ōld=duixiang.GetROProperty("value")
            i=i+1
            wait 0,20
            obj.sendkeys "1"
            wait 0,20
            xin=duixiang.GetROProperty("value")
            wend
            'msgbox i
            If i-1=guifanshu Then
            konglen=true
            else
            konglen=false
            End If
                 Setting.WebPackage( "ReplayType")=1
            End Function

            51.超時(shí)設置:Setting("DefaultTimeout") =1000000

            52.共享對象庫:Set App = CreateObject("QuickTest.Application")
            App.Test.Settings.Resources.ObjectRepositoryPath = "path"

            53.取顏色   browser("b").page("p").Object.currentStyle“:.color
            54.顯示行號設置:Tools- --> Editor Options...-->General-->Show line number,


            55.不同數據庫檢查點(diǎn)手動(dòng)SQL寫(xiě)法
            QTP插入數據庫檢查點(diǎn),手動(dòng)指定SQL語(yǔ)句的寫(xiě)法。
            一、SQL Server格式(本地無(wú)需安裝SQL Server)
            connectionstring(連接字符串):
            1.本地沒(méi)有創(chuàng )建數據源的方式
            DRIVER=SQL Server;SERVER=數據庫IP地址;UID=用戶(hù)名;PWD=密碼;APP=Microsoft Office 2003;WSID=本地主機名;DATABASE=數據庫名

            實(shí)例:
            DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork

            2.本地已創(chuàng )建數據源的方式
            DSN=數據源名稱(chēng);UID=用戶(hù)名;PWD=密碼;APP=Microsoft Office 2003;WSID=數據庫的主機名;DATABASE=數據庫名

            實(shí)例:
            DSN=LocalServer;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork

            3.SQL語(yǔ)句實(shí)例(從數據庫表HR_LANGUAGE_TYPE中,查詢(xún)字段語(yǔ)言名稱(chēng)LANGUAGE_NAME,條件語(yǔ)言名稱(chēng)=中文,按語(yǔ)言名稱(chēng)升序排序結果)
            source(SQL語(yǔ)句):
            SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM dcwork.dbo.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME


            二、DB2格式:(本地至少安裝DB2 Run-Time Client Lite)
            connectionstring(連接字符串):
            1.本地沒(méi)有創(chuàng )建數據源的方式
            DRIVER={IBM DB2 ODBC DRIVER};UID=用戶(hù)名;PWD=密碼;MODE=SHARE;DBALIAS=數據庫名;

            實(shí)例:
            DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

            2.本地已創(chuàng )建數據源的方式
            DSN=數據源名稱(chēng);UID=用戶(hù)名;PWD=密碼;MODE=SHARE;DBALIAS=DCWORK;

            實(shí)例:
            DSN=DWCORKDB2;UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

            3.SQL語(yǔ)句實(shí)例
            source:SQL語(yǔ)句
            SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM DB2ADMIN.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME


            三、Oracle格式:(本地需要安裝Oracle ODBC DRIVER)
            connectionstring(連接字符串):
            1.本地沒(méi)有創(chuàng )建數據源的方式
            DRIVER={Oracle in OraHome92};SERVER=數據庫服務(wù)名;UID=用戶(hù)名;PWD=密碼;DBQ=數據庫名;DBA=W;APA=T;EXC=F;XSM= Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;

            實(shí)例:
            DRIVER={Oracle in OraHome92};SERVER=DCWORK;UID=DCWORK;PWD=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;

             

            2.本地已創(chuàng )建數據源的方式
            DSN =數據源名稱(chēng);UID=用戶(hù)名;PWD=密碼;DBQ=數據庫名;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL= 10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;

            實(shí)例:
            DSN=dcworkoracle;UID=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;

            3.SQL語(yǔ)句實(shí)例
            source:SQL語(yǔ)句
            SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM DCWORK.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME

             

            四, mysql
            Set Conn = CreateObject("ADODB.Connection" )
            str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.100;DATABASE=wp_blog;user id=zzz ; password=123456"
            Conn.open str
            Set Rs = CreateObject ("ADODB.Recordset" )
            sql = "select * from `wp_blog`.`blg_webcategory` limit 0, 5000;"
            Rs.open sql,conn,1,3
            If (not Rs.eof) then
            Rs.MoveFirst
            MsgBox Rs(0)
            MsgBox Rs(1)
            MsgBox Rs(2)
            MsgBox Rs(3)
            end if

            Rs.close
            Set Rs = Nothing
            Conn.close
            Set Conn = Nothing

            五. access

            Set Conn = CreateObject("ADODB.Connection" )
            str="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db1.mdb"
            Conn.open str
            Set Rs = CreateObject ("ADODB.Recordset" )


            56.*.xml
            Environment.LoadFromFile "D:\新建文件夾\a.xml"
            Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set Environment("HuiYuanB")

            57、類(lèi)似時(shí)間控件,不能手到輸入的文本檔
               1)手工添加對象,
               2).object.value="2008-4-12"

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: qtp QTP 工具 經(jīng)驗總結 軟件測試


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

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>