• <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經驗總結

    發布: 2010-11-04 09:58 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 500次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試工具QTP經驗總結

    Mercury QuickTest 企業級自動化測試工具!   目前已經被惠普收購,正式名字為HP QuickTest Professional software ,最新的版本為HP QuickTest Professional 10.0.   HP QuickTest Professional 提供符合所有主要應用軟件環境的功能測試回歸測試的自動化。采用關鍵字驅動的理念已簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業的測試者也可以通過提供的內置腳本和調試環境來取得對測試和對象屬性的完全控制。
    1、拆分語句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
    例:飛機票取票價
    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:=
    例:取得某頁面上某文字的鏈接
    Browser("").Page("").Link("text:=娛樂").Click
         或
         neirong="娛樂"
         Browser("").Page("").Link("text:="&neirong).Click


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

    英文解決方案:
        Browser("網易126免費郵--你的專業電子郵局").Page("網易電子郵箱 - 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添加文件時可以直接往里拖的哦。

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

    8.設置動作循環:右擊/actiong call properties/run on all rows

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

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

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

    12.QTP報告自動跳出設置: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","系統沒有顯示資訊列表!"
    end if

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

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

    16取本地文件名稱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.取參數化數據的行數,只在某幾行進執行某些語句
    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.取樹結構
    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.關閉所有IE
    SystemUtil.CloseProcessByName("iexplore.exe")

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

    32.啟動IE的語句:SystemUtil.Run "iexplore.exe", "http://www.***.com"
       關閉IE或其他程序的語句:SystemUtil.CloseProcessByName "app.exe"
         or SystemUtil.CloseProcessByWndTitle "Some Title"

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

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

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

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

    37.添加附件:
       Browser("**").Page("**").WebFile("filePath").Click
    Browser("**").Dialog("**").WinEdit("文件名(N):").Set "D:\**.jpg"
    Browser("下載中心--新增下載文件").Dialog("選擇文件").WinButton("打開(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.數據執行保護
    方法一、右擊我的電腦/高級/性能/設置/數據執行保護/為除下列選定程序之外的所有程序和服務啟用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.分類樹問題解決
    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.引用自定義環境變量
    Environment.LoadFromFile "D:\詢價\case\環境\huiyuan.xml"

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

    45.在HTML編輯器中寫入數據
    用低水平錄制寫入編輯器過程,增加編輯部器前的對象,加入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
       兩個頁面title相同無法識別時使用描述必編輯
        Browser("creationtime:=1").page(title:=****).WebEdit("name:=***").Set "***"
        或Browser("creationtime:=1").page(index:=1).WebEdit("index:=0").Set "***"

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

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

    49.對象庫中對象名稱不分為_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腳本代碼中編寫
    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

    此函數的功能為:驗證測試輸入框輸入的最大允許字數功能的正確,函數可寫在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.超時設置: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.不同數據庫檢查點手動SQL寫法
    QTP插入數據庫檢查點,手動指定SQL語句的寫法。
    一、SQL Server格式(本地無需安裝SQL Server)
    connectionstring(連接字符串):
    1.本地沒有創建數據源的方式
    DRIVER=SQL Server;SERVER=數據庫IP地址;UID=用戶名;PWD=密碼;APP=Microsoft Office 2003;WSID=本地主機名;DATABASE=數據庫名

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

    2.本地已創建數據源的方式
    DSN=數據源名稱;UID=用戶名;PWD=密碼;APP=Microsoft Office 2003;WSID=數據庫的主機名;DATABASE=數據庫名

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

    3.SQL語句實例(從數據庫表HR_LANGUAGE_TYPE中,查詢字段語言名稱LANGUAGE_NAME,條件語言名稱=中文,按語言名稱升序排序結果)
    source(SQL語句):
    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.本地沒有創建數據源的方式
    DRIVER={IBM DB2 ODBC DRIVER};UID=用戶名;PWD=密碼;MODE=SHARE;DBALIAS=數據庫名;

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

    2.本地已創建數據源的方式
    DSN=數據源名稱;UID=用戶名;PWD=密碼;MODE=SHARE;DBALIAS=DCWORK;

    實例:
    DSN=DWCORKDB2;UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;

    3.SQL語句實例
    source:SQL語句
    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.本地沒有創建數據源的方式
    DRIVER={Oracle in OraHome92};SERVER=數據庫服務名;UID=用戶名;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;

    實例:
    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.本地已創建數據源的方式
    DSN =數據源名稱;UID=用戶名;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;

    實例:
    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語句實例
    source:SQL語句
    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、類似時間控件,不能手到輸入的文本檔
       1)手工添加對象,
       2).object.value="2008-4-12"

    延伸閱讀

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

    TAG: qtp QTP 工具 經驗總結 軟件測試


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>