LoadRunner中使用關聯時,左右邊界一樣,如何獲取自己需要的值?


1、遇到的問題如下:

關聯的作用是獲取服務器返回的數據,服務器返回的html代碼如下:

<input data-val="true" data-val-regex="璇瘋緭鍏ユ紜殑鎵嬫満鍙風爜錛岄潪鍖椾含甯傛湰鍦板彿鐮佸墠璇峰姞0錛? data-val-regex-pattern="(((0)|())?(1)[3-9]\d{9})$" data-val-required="璇峰~鍐欐墜鏈哄彿鐮侊紒" id="MobileNumber" name="MobileNumber" type="hidden" value="18280062222" />
<input id="ExpertID" name="ExpertID" type="hidden" value="a7804072-3e9f-4d0c-815b-68df04df7b70" />

 

我想獲取服務器返回的數據"a7804072-3e9f-4d0c-815b-68df04df7b70",通過手動關聯完成如下圖:

生成的關聯函數為:

//Correlation comment - Do not change!Original value='7e270eeb-3201-409e-ac44-21c674530a25' Name ='CorrelationParameter_1'

web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB= value=\"",
"RB=\" ",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/Index*",
LAST);

關聯后並做相關的參數化后,運行腳本,結果發現,獲取到的值是電話號碼,原來是,MobileNumber的左右邊界和ExpertID的左右邊界一模一樣。

 

解決辦法:

1、首先通過在關聯函數中增加"Ordinal=All",然后調試腳本,發現CorrelationParameter_1列表中沒有我需要的ExpertID,我懷疑左右邊界有問題;

2、修改關聯函數的左邊界,擴大左邊界的范圍,修改后關聯函數如下:

//Correlation comment - Do not change!Original value='value="{CorrelationParameter_1}' Name ='CorrelationParameter_1'

web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB=type=\"hidden\" value=\"",
"RB=\" ",
"Ordinal=ALL",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/Index*",
LAST);

 

獲取到CorrelationParameter_1的列表,發現列表中第二個值是我需要,如下圖:

 

3、修改關聯函數"Ordinal=ALL"為"Ordinal=2",意思是選取數組中的第二個值,修改后的關聯函數如下:

//Correlation comment - Do not change!Original value='value="{CorrelationParameter_1}' Name ='CorrelationParameter_1'

web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB=type=\"hidden\" value=\"",
"RB=\" ",
"Ordinal=2",
SEARCH_FILTERS,
"Scope=Body",
"RequestUrl=*/Index*",
LAST);

經過以上做操作后,終於獲取到到了服務器返回的expertid,腳本成功運行通過。

 

心得:

1、當時懷疑LR的"Ordinal=ALL"參數有bug,獲取不到列表,最后發現原來是左右邊界的問題。

2、調試腳本是只開啟parameter substitation日志就行,如果全開,總是找不到自己需要的日志。

3、如果遇到問題,一定是自己哪里沒做對,不會是系統或者LR的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM