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