6、相對路徑
Setting: Tool--option--folder
經常有action調用別的test里的action或者外部vbs文件,訪問功能庫和環境變量,這時使用相對路徑可以保存有效的路徑信息,提高了腳本可移植性。因為腳本文件是需要復制到別的機器共享給其他同事用的。
7、正則表達式對象庫里對每個對象都可以設置是否用正則表達式來參數化識別。腳本里也可以用。
當時的case是,頁面提交保存完了會自動生成一個文檔號,文檔號是需要輸出到data table里,但是那個字段developer在設計的時候居然用了一個webelment的類而且字段值居然是整個table的name,如“xyz—ABC20090101”,我只要后面的文檔號前面的“xyz—”是多余的,需要拿到這個對象值后轉換成正確的字符串格式才能輸出到data table里。
Eg:
Function regEXfun(patrn,strng)
Dim regEX,Match,Matches
Set regEX = New RegExp
regEX.Pattern=patrn
regEX.IgnoreCase=False
Set Matches =regEX.Execute(strng)
Set Match=Matches(0)
RetStr=Match.value
regEXfun=RetStr
End Function
Dim preNO,newNO
preNO=Browser("xx").Page("xx").WebElement("NO").GetROProperty("innertext")
newNO=regEXfun("ABC……..",preNO) '雖然每次NO都不一樣,但是格式是固定的:字符串長度總是11位,以ABC開始,后面的數字是隨機,所以用ABC來匹配字符串
DataTable.Value("NO",dtGlobalSheet)=newNO
8、密碼
如果登錄頁面的密碼數據來源是data table,那么要提前準備密碼。顯然只能用明文,比如123456,但是QTP錄制輸入密碼時自動生成的腳本是用SetSecure的方法生成一大串密文,如果這樣每次改密碼的時候都要用密文到data table里,很郁悶,這種case時只要手動把SetSecure改為Set就OK啦~
9、waitproperty
在用QTP的過程中,有時因為要等待某個對象的值出現,加上wait()方法.
但是wait里的時間參數,是根據經驗估計出來的, 這個對象每次運行時可能需要load的時間不一樣,有時候9秒有時候3秒,只好設置成wait(10),讓QTP等10秒,但是如果對象在10秒內已經load完,QTP還是會繼續等到10秒后才往下繼續執行,浪費了很多時間.有個辦法是用waitproperty 方法.這樣這個對象在10內出現的話,QTP就會繼續往下執行腳本,不用等完10秒。
Browser("xx").Page("xx").WebButton("abc").WaitProperty "visible",true,10
文章來源于領測軟件測試網 http://www.kjueaiud.com/