QTP的基本功能介紹(6)

發表于:2015-03-24來源:uml.org.cn作者:erix1991點擊數: 標簽:qtp
Run one iterator only是指僅運行一次,也就是說,即使Data Table中有多條數據,也僅運行一次;Run on all rows則是Data Table中所有數據都運行一次;選擇Run from rowtoro

  “Run one iterator only”是指僅運行一次,也就是說,即使Data Table中有多條數據,也僅運行一次;“Run on all rows”則是Data Table中所有數據都運行一次;選擇“Run from row…to…row…”則可進一步設置測試數據運行的范圍。

  選擇“Run on all row”,運行后得到如圖所示測試結果

  (2).使用隨機數進行參數化

  對于選擇航班這個測試步驟的參數化有所不同,因為航班數據表會跟隨所選的起點和終點發生變化,因此要通過隨機數來做特殊處理,如下代碼所示。

  先通過訪問GetItemsCount屬性,獲取航班列表的行數,然后使用RandomNumber 隨機取其中一項,最后通過Select方法選擇航班

  (3).使用環境變量的參數化

  下面以“Flight”的登錄界面的“Agent Name”和“Password”為例介紹用環境變量參數化。

  首先,選擇菜單“File|Settings”,出現如圖界面。在這個界面中,切換到“Environment”頁,在“Variable type”中選擇“User-Defined”,然后單擊旁邊的“+”按鈕,在下圖定義環境變量的名和輸入的值。

  重復上面步驟,定義“Password”環境變量,得到如下圖結果。

  定義好環境變量并設置好其值之后,就可以在測試步驟中使用該環境變量。

  在關鍵字視圖中,定位到“AgentName”測試步驟的“Value”列,如下圖,

  單擊旁邊的“<#>”,出現下圖所示界面。在界面中,選擇”Parameter”,并在下拉框中選擇“Environment”,在“Name”中選擇“AgentName”。重復這個步驟,設置“輸入登錄密碼”。

  設置完后,結果如圖,QTP在運行測試腳本時,就會讀取測試步驟綁定的環境變量值,來執行相應的數據輸入動作。

  QTP描述性編程

  測試過程中,有些界面元素是動態出現或動態變化的,在錄制時,并沒有被加到測試庫中,如何讓這些在測試中動態出現的界面元素得到控制呢?QTP提供了描述性編程的方式來解決這些問題。

  用描述性編程編寫的腳本在運行時,QTP會使用測試腳本中給出的對象描述來查找對象,查找的位置不是對象庫,而是與測試程序運行時QTP為其創建的臨時測試對象版本進行匹配。

  在QTP中,有兩種描述性編程的開發方式:一種是“直接描述”的方式,另一種是使用“Description對象”的方式。下面我們就以NCP servers登錄后的時間顯示表為例來說明,如圖。

  1.直接描述方式

  對于前面的NCP servers時間顯示表,測試用例是要測試它的時間是否正確,它是隨時間不斷變化的,可以通過描述性編程來解決,例如下面的腳本:

Browser("深圳市元征軟件有限責任公司").Page("深圳市元征軟件有限責任公司").WebEdit("userName").Set "xiaoyu"
Browser("深圳市元征軟件有限責任公司").Page("深圳市元征軟件有限責任公司").
WebEdit("password").SetSecure "4bda8fb406a2bf5fa628b028325fcebe031d"
wait 8
Browser("深圳市元征軟件有限責任公司").Page("深圳市元征軟件有限責任公司").Image("dl").Click
'通過正則表達式匹配web表
text1 = "服務器時間.*"
str = Browser("深圳市元征軟件有限責任公司").Page("用戶管理 | 診斷服務增值業務服務管理后臺").
WebTable("name:=WebTable","Text:=" & text1).GetCellData (1,2)
Msgbox str

原文轉自:http://www.uml.org.cn/Test/201312031.asp

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