<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中使用描述性編程

            發(fā)布: 2011-1-05 10:08 | 作者: 網(wǎng)絡(luò )轉載 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 245次 | 進(jìn)入軟件測試論壇討論

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

            軟件測試工具中QTP中使用描述性編程

            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)取得對測試和對象屬性的完全控制。

            在QTP中使用描述性編程是一個(gè)提高QTP腳本利用率的很好的方式。
              通常QTP是通過(guò)對象庫來(lái)識別不同的對象,而描述性編程是QTP另外一種能夠識別對象的途徑,它不依賴(lài)于對象庫,通過(guò)增加一些對象的描述來(lái)識別對象的。
              說(shuō)明:本例子是以Flight飛機訂票系統的登陸界面為測試頁(yè)面進(jìn)行描述的。
              步驟一:錄制腳本
              Dialog("Login").WinEdit("Agent Name:").Set "Holly"
              Dialog("Login").WinEdit("Password:").SetSecure "46ef0dc7efe5834c73673898279af1204fea51a7"
              Dialog("Login").WinButton("Cancel").Click
              共錄制3步操作,輸入Agent Name, Password, 點(diǎn)擊Cancel按鈕
              步驟二:初級描述性編程

            Dialog("Regexpwndtitle:=Login").WinEdit("Attached text:=Agent Name:").Set "Holly"
            Dialog("Regexpwndtitle:=Login").WinEdit("Attached text:=Password:").Set "Mercury"
            Dialog("Regexpwndtitle:=Login").WinButton("Class Name:=WinButton", "text:=Cancel").Click
            在這里要注意有三點(diǎn):
            1)如果需要兩個(gè)以上特性來(lái)描述一個(gè)對象,需要使用逗號(,)對描述性語(yǔ)言進(jìn)行分割
            2)使用:=來(lái)連接屬性和屬性值,并且:=兩邊不能有空格
            3)使用SPY查看對象的屬性名和屬性值(Tools -> Object Spy)
            步驟三:描述性編程提高
            Dim descEditLogin
            Set descEditLogin = Description.Create()
            descEditLogin("Class Name").Value = "Dialog"
            descEditLogin("Regexpwndtitle").Value = "Login"
            Dialog(descEditLogin).WinEdit("Attached text:=Agent Name:").Set "Holly"
            Dialog(descEditLogin).WinEdit("Attached text:=Password:").Set "Mercury"
            Dialog(descEditLogin).WinButton("Class Name:=WinButton", "text:=Cancel").Click
            在這里需要注意有兩點(diǎn):
            1)把經(jīng)常使用到的對象定義為一個(gè)對象變量,方便以后調用,減少代碼工作量和錯誤
            2)使用SPY獲取對象的屬性和屬性值
            步驟四:使用自定義的環(huán)境變量
            在File>>Settings>>Environment中選擇user-defined,增加一個(gè)變量
            dlgLogin = “Login”
            這樣腳本可以被修改為:
            Dim descEditLogin
            Set descEditLogin = Description.Create()
            descEditLogin("Class Name").Value = "Dialog"
            descEditLogin("Regexpwndtitle").Value = Environment.Value("dlgLogin")
            Dialog(descEditLogin).WinEdit("Attached text:=Agent Name:").Set "Holly"
            Dialog(descEditLogin).WinEdit("Attached text:=Password:").Set "Mercury"
            Dialog(descEditLogin).WinButton("Class Name:=WinButton", "text:=Cancel").Click
            當然,參數化的方式很多,這邊介紹的是使用環(huán)境變量
            步驟五:從XML文件導入環(huán)境變量
            dlgLogin
            Login
            可以使用手工導入,也可以使用LoadFromFile自動(dòng)導入
              總結:優(yōu)點(diǎn)是當對象的一些屬性變更后,腳本更容易維護。比如說(shuō)對于一個(gè)通用對象,比如save, reset, cancel等按鈕,一個(gè)頁(yè)面有3個(gè),30個(gè)頁(yè)面就有90個(gè)對象,假如save變成保存,reset變成重置,cancel變成取消,那么對象庫就會(huì )產(chǎn)生很大的變動(dòng)。而使用了描述性編程只需要在導入的XML文件中修改一個(gè)值就可以了。當然描述性編程的作用遠遠不止這些,這次只是拋磚引玉,希望大家共同進(jìn)步。在QTP中使用描述性編程是一個(gè)提高QTP腳本利用率的很好的方式。通常QTP是通過(guò)對象庫來(lái)識別不同的對象,而描述性編程是QTP另外一種能夠識別對象的途徑,它不依賴(lài)于對象庫,通過(guò)增加一些對象的描述來(lái)識別對象的。
              說(shuō)明:本例子是以Flight飛機訂票系統的登陸界面為測試頁(yè)面進(jìn)行描述的。
              步驟一:錄制腳本
            Dialog("Login").WinEdit("Agent Name:").Set...
              QTP的工作原理有點(diǎn)類(lèi)似人類(lèi)社會(huì )的某些場(chǎng)景.比如一個(gè)朋友委托你帶東西給A,如果你認識A,這表明A的容貌特征以及一些聯(lián)系已經(jīng)在你腦海有了印象,那么你只要找到了A的住所,那么這個(gè)任務(wù)就很容易完成了,如果你根本就不認識A,則這個(gè)任務(wù)就很難完成了. 那在QTP中有沒(méi)有一種方法,無(wú)須在對象庫中記錄任何關(guān)于某個(gè)對象的信息,就可以完成對該對象的操作呢,有.那就是描述性編程,其工作原理就象上面這個(gè)例子.
              在QTP中,有一按鈕對象,對它的操作如下:Dialog("Login").WinButton("OK").Click但是如果我們在對象庫中刪除這個(gè)對象后,執行這句話(huà)就會(huì )出錯,提示找不到對象,在這個(gè)時(shí)候,我們就可以通過(guò)描述性編程給他指定對象及其他的一些屬性,修改如下Dialog("Login").WinButton("text:=OK").Click
              上面腳本中,通過(guò)WinButton("text:=OK")明確告訴QTP去尋找文本屬性為OK的按鈕,于是QTP正確識別到該對象,順利的執行了腳本.這種不需要在對象庫中存儲對象的信息,就可以執行對象操作的方法,就是QTP中比較高級的用法:描述性編程(descrīptive progamming).描述性編程和傳統的QTP腳本的區別是:他把需要識別的對象的屬性從對象庫中轉移到了腳本里面,通過(guò)在腳本里面的特殊語(yǔ)法格式.來(lái)告訴QTP識別對象的方法.描述性編程更加靈活,因為他不需要經(jīng)過(guò)錄制這個(gè)步驟,可以直接通過(guò)編程的方式操作任何一個(gè)你想操作的對象,只要你在測試腳本代碼里提供給QTP識別該對象的足夠信息
              描述性編程的語(yǔ)法格式如下:
              micClasas("property1:=value1","property2:=value2")
              micClass標志某個(gè)對象的類(lèi)別,括號里面通過(guò)jproperty:=value的形式告訴QTP識別該對象的必要屬性.我們繼續修改一下測試腳本:Dialog("Login").WinButton("text:=OK").Click修改后:Dialog("Login").WinButton("nativeclass:=Button","text:=OK").Click.F5執行,結果運行順利.這次修改,我們使用了一個(gè)通用的對象類(lèi)WinObject,而把按鈕當作一個(gè)基本屬性nativeclass:=Button,同樣可以完成對該按鈕的操作
              由上面的敘述我們可以看出來(lái),描述性編程沒(méi)有嚴格的要求,只要遵循一個(gè)原則:在代碼中告訴QTP足夠他識別該對象的屬性,QTP就可以不通過(guò)對象庫,而是通過(guò)描述性編程的方式完成對指定對象的操作.所以描述性編程沒(méi)有什么神秘的,他無(wú)非是把原來(lái)存儲在對象庫中的信息提到代碼中來(lái)了而已.

            延伸閱讀

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

            TAG: 關(guān)鍵字 惠普 軟件測試 應用軟件 自動(dò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備2023014753號-2
            技術(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>