Loadrunner关联


学习LoadRunner之关联(二)

Lr学习之关联-随机删除一行数据和全部删除数据

录制一个系统,我录制的是一个交通方面的系统,登陆到系统里面,查询车牌颜色,将其中一条数据删除。


"Name=__EVENTTARGET", "Value=", ENDITEM,

"Name=__EVENTARGUMENT", "Value=", ENDITEM,

"Name=__VIEWSTATEENCRYPTED", "Value=", ENDITEM,

"Name=__EVENTVALIDATION", "Value=d2nbwaXrFyhlu1wyuoxmLSw/21evncwEK/tTQwG6sFvqP2VtFAs+zeX0

PXJIPIfG6XlFZhPOEA0kUeOT5pV8wqhGVVco5NpzdOHJ/au2SCODPGzuhOSC6N0

XuUcOmmg9YQIQVRUjX9UN52yk1NWirekaG5UwowIEpykBMTVloq0Zy/IoAXnpG0

NZmR1PB515k8ht2ALYsrgnpfervGZ84A==", ENDITEM,

"Name=txtNumberColorName", "Value=", ENDITEM,

"Name=gvItems$ctl04$ImageButton3.x", "Value=4", ENDITEM,

"Name=gvItems$ctl04$ImageButton3.y", "Value=9", ENDITEM,

LAST);

以上是用来控制删除的代码。在上面代码里面最后两句是用来控制我删除的是第几行,看到数据104说明我删除的是第4行,也就是说如果我要删除第7行,我可以将代码自己改成:

?


"Name=gvItems$ctl07$ImageButton3.x", "Value=4", ENDITEM,

"Name=gvItems$ctl07$ImageButton3.y", "Value=9", ENDITEM,

LAST);

再运行一遍代码即可。我想让系统删除所有的记录,可以手动删除101,102,103。。。。。。。。。。,我们很容易想到循环。但是我们并不知道一共有多少行,这里我们需要关联可以知道一共有多少行,是哪些行,现在需要关心的是我们要关联哪个部分。

我们将视图切换到树型目录下,找到删除记录的页面,点击Server Response选项卡,看到代码发现:


<tr>

   <td>

       <span title="0024" style="cursor: pointer;">0024</span>

   </td>

   <td>

       <span title="8" style="cursor: pointer;">8</span>

   </td>

   <td>

       <span title="8" style="cursor: pointer;">8</span>

   </td>

   <td>

       <input type="image" name="gvItems$ctl02$ImageButton1" id="gvItems_ctl02_ImageButton1"

           text="缂栬緫" src="http://images.cnblogs.com/tableimage/bj.gif" alt="缂栬緫" style="border-width: 0px;" />

       <input type="image" name="gvItems$ctl02$ImageButton3" id="gvItems_ctl02_ImageButton3"

           src="http://images.cnblogs.com/tableimage/sc.gif" alt="鍒犻櫎" onclick="return confirm(‘纭疄瑕佸垹闄ゅ悧锛?);"

           style="border-width: 0px;" />

   </td>

</tr>

<tr>

   <td>

       <span title="0025" style="cursor: pointer;">0025</span>

   </td>

   <td>

       <span title="red" style="cursor: pointer;">red</span>

   </td>

   <td>

       <span title="1" style="cursor: pointer;">1</span>

   </td>

   <td>

       <input type="image" name="gvItems$ctl03$ImageButton1" id="gvItems_ctl03_ImageButton1"

           text="缂栬緫" src="http://images.cnblogs.com/tableimage/bj.gif" alt="缂栬緫" style="border-width: 0px;" />

       <input type="image" name="gvItems$ctl03$ImageButton3" id="gvItems_ctl03_ImageButton3"

           src="http://images.cnblogs.com/tableimage/sc.gif" alt="鍒犻櫎" onclick="return confirm(‘纭疄瑕佸垹闄ゅ悧锛?);"

           style="border-width: 0px;" />

   </td>

</tr>

行是由这样的代码一个个组成,每一行都有个唯一标识id="gvItems_ctl03_ImageButton3",那我们需要关联的是ID里面的那个数字。在代码上加:


web_reg_save_param("idParam","LB=gvItems_ct","RB=_ImageButton3","ORD=All","Search=Body",LAST);

然后添加显示的代码:


i=atoi( lr_eval_string("{idParam_count}"));

lr_error_message("%d",i);

idParam_count变量装的就是一共有多少行。现在要做的就是找到这些行的唯一标识。


for(j=1;j<=i;j++)

{

   sprintf(temp,lr_eval_string("{idParam_%d}"),j);

   lr_error_message("the {idParam_%d} is %s",j,lr_eval_string(temp));

}

lr_error_message("%d",i);

通过代码得到的结果为:


Action.c(92): Notify: Saving Parameter "idParam_1 = l02"

Action.c(92): Notify: Saving Parameter "idParam_2 = l03"

Action.c(92): Notify: Saving Parameter "idParam_3 = l04"

Action.c(92): Notify: Saving Parameter "idParam_4 = l05"

Action.c(92): Notify: Saving Parameter "idParam_5 = l06"

Action.c(92): Notify: Saving Parameter "idParam_count = 5"

那么现在就好做全面删除了:


for(j=1;j<=i;j++)

{

   sprintf(temp,lr_eval_string("{idParam_%d}"),j);

   lr_error_message("%s",lr_eval_string("{temp}"));

   strcat(tempX,temp);

   strcat(tempX,"$ImageButton3.x");

   strcat(tempY,temp);

   strcat(tempY,"$ImageButton3.y");

   lr_error_message(tempX);

   lr_error_message(tempY);

   …………………//省略

   "Name=__EVENTVALIDATION", "Value={WCSParam_Diff2}", ENDITEM,

   "Name=txtNumberColorName", "Value=", ENDITEM,

   tempX, "Value=5", ENDITEM,

   tempY, "Value=5", ENDITEM,

   LAST);

}

时间: 2024-10-28 23:38:10

Loadrunner关联的相关文章

Loadrunner 关联 web_custom_request综合实例

Loadrunner 关联 web_custom_request综合实例 Loadrunner 关联web_custom_request,针对自带的订票系统的一个综合实例,相信看了本文大家对学习loadrunner脚本会有很大的帮助. 本实例要解决的问题: (1)动态删除Loadrunner订票系统的一条订单: (2)动态判断表单订单条目,执行取消第一条订单: (3)Loadrunner关联  web_custom_request以及循环语句的应用. 代码不足之处:变量定义太多,希望和大家共同交

Loadrunner关联取参及设置检查点

Loadrunner关联取参及设置检查点: 获取post的响应值当作参数存储,要在此post请求之上添加 1 web_reg_save_param("sign", 2 "LB=md5码是:[", 3 "RB=]", 4 "Search=All", 5 LAST); 6 7 8 web_submit_data("tomd5", 9 "Action=http://v49.pclady.com.cn:8

loadrunner关联及web_reg_save_param方法浅析

loadrunner关联及web_reg_save_param方法浅析 一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联.也是把脚本中某些写死的数据,转变成动态的数据. 什么内容需要关联:当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那

loadrunner关联和事务

1.关联 不关联,录制没有问题,回放时可能会出错. 排除字符限制,输入因素,如果自己手动操作网页时不会报错,回放时报错,那么可以肯定,有数据需要使用关联. 如果录制没有错误,且对脚本没有进行任何修改,自动化时出错,那就应该去关联. web关联主要使用,web_reg_param_ex这个函数,其他几个类似函数也可使用. 关联主要指从服务器返回的信息,这个信息主要用于验证或者状态记录,需要被关联的数据是动态变化的. 2.事务 事务在lr中可以手工输入,也可以自动插入 lr_start_transa

loadrunner关联的感悟:

首先用URL模式录制脚本: 切换到树模式下: 很容易查看到关联的位置,由此知道产生动态值得请求为nav.pl 但是在html中我们怎么查看关联值在哪里呢: 今天无意中意识到这个问题: 先看树视图脚本:

loadrunner关联取参--响应值unicode编码处理过

背景:做电商提交订单,需要获取订单号,然后进行支付.状态变更等操作 submitOrder() { lr_think_time(1); /* 提交订单 */ /* specsId:规格ID,hyh_goods_specs phone userkey:hyh_user表中phone和user_key2 登陆用户 userAddressId:hyh_user_address表中ID */ web_reg_save_param("order", "LB=orderNo%22%3A%

转:loadrunner关联及web_reg_save_param方法浅析

一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联.也是把脚本中某些写死的数据,转变成动态的数据.什么内容需要关联:当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那么这个内容需要通过关联来询问服务器,获得该数据的变化结果.例如:1.登录字

loadrunner 关联

Loadrunner脚本自动关联和手动关联

关于Loadrunner关联一.什么时候需要关联 1.关联的含义        关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联.        其实关联也属于一同特殊的参数化,只是与一般的参数化有些不同        一般的参数化的参数来源于一个文件.一个定义的table.通过sql写