Web_reg_find()函數的使用

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, 並且停止執行下去。反之,則一直執行下去。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章