QTP參數化實例

發表于:2008-08-12來源:作者:點擊數: 標簽:百度搜索引擎QTP參數Browser實例
在 自動化測試 當中,有時為了模擬真實效果,或者為了達到某種操作效果,那么勢必要把腳本參數化.那么一般的針對輸入值的參數化或者select選擇值的參數化,操作也比較容易,這里也不多說了,直接把固定值換成變量就可以.鑒于上個星期有兩個朋友都問到了針對某個對



     在自動化測試當中,有時為了模擬真實效果,或者為了達到某種操作效果,那么勢必要把腳本參數化.那么一般的針對輸入值的參數化或者select選擇值的參數化,操作也比較容易,這里也不多說了,直接把固定值換成變量就可以.鑒于上個星期有兩個朋友都問到了針對某個對象的參數化,那么就來探討一下針對對象的參數化.

例:
Browser("Browser").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"
Browser("Browser").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
Browser("Browser").Page("百度搜索_111").Link("菜111 的QQ家園").Click

    在這個例子中,我們的目的是把這個link對象給參數化掉.這里直接把對象名參數化掉,肯定是不行的.因為我們知道QTP識別對象依靠是這個對象在對象庫中的屬性和屬性值.而如果我們這里參數化成一個新的對象名,那么這個對象名是不存在于對象庫中的,那么勢必會造成在回放過程中不通過,報對象庫中沒有這個對象的錯誤.所以我第一個想到的是先讓這個link對象脫離對象庫,讓它不用通過對象庫就能識別這個link對象,那么接下來只要直接換成變量就成功了.相信大家都看到過幫助里對描述性編程的說明,通過把腳本改寫成描述性編程的形式,可以讓QTP在執行腳本時不要再去依賴對象庫.直接把一些付有特征的屬性和屬性值放到腳本中,就能執行相應的操作.所以我們可以先把上面腳本改寫成:

Browser("Browser").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"
Browser("Browser").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
Browser("Browser").Page("百度搜索_111").Link("text:=菜111 的QQ家園").Click

    這樣表示后,再把這個對象在對象庫中的記錄給刪掉.重新運行腳本后,腳本依舊能正確執行.那么接下來的操作就方便了,直接把相應的固值換成一個變量即可.我們來這么操作:

Dim i
i="菜111 的QQ家園"
Browser("Browser").Page("百度——全球最大中文搜索引擎").WebEdit("wd").Set "111"
Browser("Browser").Page("百度——全球最大中文搜索引擎").WebButton("百度搜索").Click
Browser("Browser").Page("百度搜索_111").Link("text:="&i).Click

    到這里整個操作過程就完成了.其實這只是一個方法,相信大家肯定還有其他方法,希望大家能留言說說自己的看法.當然如果這個對象的對象名有一定規律的話,我們還可以考慮運用正則表達式的方法,也可以達到預期的效果.

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97