1.此函數的作用,很顯然就是能告之測試人員頁面是否顯示正確,其意義與價值在我此次支撐平臺的性能測試得到了體現。
2.在使用此函數的過程中,遇到了非常鬱悶的事情,幸得老大的幫助才得以跳出誤區。當在此函數中,查找的text="中文"時,LR硬是報錯,換成英文字體便成功。後來,查了好久,發覺是Record-Options 中我勾選了support charset中的UTF-8,可能是錄製過程中LR捕捉到的是中文,而回放過程中此函數在HTML原文件中查找到的卻是亂碼?總而言之,把此選項去除之後,重新錄製腳本,回放能夠成功了!
3.快速定位此函數應插入的位置。切換到樹狀列表,找到帶URL字符串的腳本,點開查看其快照,如果有圖形顯示,基本可以在此插入檢查點了,爲了進一步確認可以點右鍵,選擇看其源代碼。
下面是51testing上網友總結的,在LR的幫助文檔中,也有詳盡的描述。
1. 將腳本切換到樹結構,在page view頁面上找到你要check的文本內容, 並執行鼠標郵件,選擇copy selection.
2. 將腳本切換回代碼界面, 在光標閃爍的上行,添加如下的代碼:
備註:光標閃爍的上行: 若光標閃爍行爲第10行,那光標閃爍的上行爲第9行。
添加的代碼根據你檢查的方式不同而不同, 你可以選擇其中之一即可。
代碼一:
web_reg_find("Text=Payment Details",LAST);
代碼思路:
1."Payment Details" 爲你要檢查的文本;
2. 腳本執行到此處,若在頁面上找到了這幾個字符串,那腳本繼續執行下去;若沒有找到,腳本將在此報錯並且結束。
代碼二:
web_reg_find("Text=Payment Details", "SaveCount=para_count", LAST); //check 的函數
web_submit_form("reservations.pl_2", //要check的頁面的錄製時的代碼
"Snapshot=t22.inf",
ITEMDATA,
"Name=outboundFlight", "Value=003;0;06/23/2007", ENDITEM,
"Name=reserveFlights.x", "Value=61", ENDITEM,
"Name=reserveFlights.y", "Value=2", ENDITEM,
LAST);
if (atoi(lr_eval_string("{para_count}"))>0) //驗證是否找到了頁面上的要檢查的字符串
lr_output_message("we find the string!");
else
lr_output_message("sorry,don't find the string!");
代碼思路:
1."Payment Details" 爲你要檢查的文本;
2. 腳本執行到此處,不管頁面上是否存在你要檢查的字符串,腳本都不會報錯,而是執行下去。
3. 此段代碼將找到的你要檢查的字符串的個數,存爲一個參數。 然後在頁面代碼的後面,通過檢查這個參數的值是否大於0,來判斷是否找到了你所要檢查的字符串。
代碼三:
A. web_reg_find("Text=Payment Detdils", "Fail=NotFound",LAST);或者
B. web_reg_find("Text=Payment Detdils", "Fail=Found",LAST);
代碼思路:
1."Payment Details" 爲你要檢查的文本;
2. 若是A代碼:腳本執行到此處,若沒有找到check的字符串,腳本將FAIL, 並且停止執行下去。反之,則一直執行下去。
3. 若是B代碼:腳本執行到此處,若找到check的字符串,腳本將FAIL, 並且停止執行下去。反之,則一直執行下去。