51Testing软件测试论坛
标题:
总结下最近录制脚本碰到的关联问题
[打印本页]
作者:
hunter0210
时间:
2015-4-24 19:39
标题:
总结下最近录制脚本碰到的关联问题
总结下最近录制脚本碰到的关联问题(纯属个人理解,如果有不正确的地方,希望大家斧正:)
录制完脚本,出于个人习惯,回放一遍后就进行自动关联,结果发现没有需要关联的地方,但是几分钟后再次回放时,出现会话超时提醒。(自动关联果然不太靠谱)没办法只能手动关联了,于是又录制了一份相同的脚本,通过Loadrunner自带的WDiff(Tool>Compare with Script)进行对比,找出来了两处需要关联的地方(即下面的两个实例)。
先说下我手动建立关联的步骤:
1.选择View Tree > HTTP View,Ctrl+F查找需要关联的动态数据。
2.找出左边界字符串。(注意:要确定选取的左边界字符串可以唯一识别)
3.找出右边界字符串。
4.选取的字符串中如果有",需要用\进行转义。
5.将脚本中关联的数据以参数取代。
完成关联后,接下来执行脚本,检查能否运行成功,如果还是有问题,则检查是否还有其他数据需要关联或者其它问题。
接下来用两个实例来做下关联:
(1)var sample = "/rpm/[sample]?EMP_SID=JSBOJCESCOHXBZHKEKFLGDBFCLGPAQGYIJFTHFJH";
var newurl = sample.replace("[sample]",url);
注:EMP_SID=JSBOJCESCOHXBZHKEKFLGDBFCLGPAQGYIJFTHFJH"是动态数据,需要关联。
1.首先找到左边界字符串,经过验证,确定EMP_SID=为左边界字符串。
2.找到右边界字符串,确定";为有边界字符串。
3.左边界字符串为"LB=EMP_SID="。右边界字符串为"RB=\";"(由于右边界字符串存在"所以用到\进行转义)。
4.将关联的动态数据用参数取代,即"JSBOJCESCOHXBZHKEKFLGDBFCLGPAQGYIJFTHFJH={CorrelationParameter_1}"。
5.执行了下脚本,发现没有运行成功,经过检查脚本发现还有其他数据<也就是实例(2)>需要关联。
做好的关联如下:
web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB=EMP_SID=",
"RB=\";",
SEARCH_FILTERS,
"Scope=All",
"RequestUrl=*/userSignOn.do*",
LAST);
(2)id="DerivedBusinessData.LPS_SHT_IDData"
value="SHT0000127281" /> </span>
注:value="SHT0000127281"是动态数据,需要关联。
1.首先找到左边界字符串,由于Value="不可以唯一识别,确定"SHT为左边界字符串。
2.找到右边界字符串,确定"为有边界字符串。
3.左边界字符串为"LB=\"SHT"(因为"SHT存在",所以用到\进行转义)。右边界字符串为"RB=\" "(由于右边界字符串存在"所以用到\进行转义)。
4.将关联的动态数据用参数取代,即"0000127281={CorrelationParameter_2}"。
5.执行了下脚本,发现脚本运行成功。关联结束。
做好的关联如下:
web_reg_save_param_ex(
"ParamName=CorrelationParameter_2",
"LB=\"SHT",
"RB=\" ",
SEARCH_FILTERS,
"Scope=All",
"RequestUrl=*/stockCustomerPricingCalculateQuery.do*",
LAST);
最后列出打印关联数据的语句,用来校验关联是否成功。
lr_output_message("EMP_SID为:%s\n", lr_eval_string("{CorrelationParameter_1}"));
lr_output_message("订单号为:%s\n", lr_eval_string("{CorrelationParameter_2}"));
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2