学习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);
}

Loadrunner关联的更多相关文章

  1. Loadrunner关联取参及设置检查点

    Loadrunner关联取参及设置检查点: 获取post的响应值当作参数存储,要在此post请求之上添加 web_reg_save_param("sign", "LB=m ...

  2. Loadrunner 关联 web_custom_request综合实例

    Loadrunner 关联 web_custom_request综合实例 Loadrunner 关联web_custom_request,针对自带的订票系统的一个综合实例,相信看了本文大家对学习loa ...

  3. loadrunner 关联匹配多个值

    loadrunner 关联获取从服务器返回相关值,如果需要把所有匹配的值都获取并且把这些值打印出来,怎么做呢? 1.首先要把把所有的匹配值都保存起来,需要在关联函数里面多传递一个参数:"Or ...

  4. 品味性能之道<八>:Loadrunner关联技巧与字符处理

    一.概述       Loadrunner作为HP出品的性能测试工具,拥有太多奇妙魔法甜点供予性能测试人员享用,其中吃起来比较有嚼劲的那就是关联了.当然在关联之后我们还需要一些简单的字符处理,用以生成 ...

  5. LoadRunner关联通用函数的学习

    LoadRunner关联通用函数的学习 写这篇文章的时候,我先声明一下,本BLOG中的文章如果没有写出是转贴的一般就是本人原创. Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符 ...

  6. loadrunner关联——对服务器返回的数据选择性提交

    在跟进项目的过程中,才体会到自己之前闷头看书再写小小的测试程序验证的学习方式很没有效率,知道动态关联,却也只是会参数化式的动态关联,这种关联是我们预先知道要提交的数据而进行的关联:更高一级的可能就是使 ...

  7. LoadRunner关联之学习笔记

    去银行办业务,进银行的门,大堂经理给你一张业务号,拿着这张业务号,去柜台办理业务.--录制下来 第二天又去银行,还是拿着这张业务号,去柜台办理业务,柜员就不理你了,因为这张业务号是昨天的.--回放过程 ...

  8. loadrunner关联数组后拼凑字符串

    loadrunner拼接关联数组的元素 int arrSize=0; int index=1; int len=0; char arryStartString[1024]=""; ...

  9. Loadrunner—关联知识点

    一.关联定义 把脚本中某些写死的数据,转变成是撷取自服务器所发送的.动态的.每次都不一样的数据 二.什么时候需要做关联 要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程 过程说明: ...

随机推荐

  1. require.async换这个方法的transport问题

    这个方法是用于在模块中异步加载其他模块的,类似于在页面上的seajs.use. 比如需要在特定条件下才去加载a模块,不必每次都加载,类似于下面这样的代码 if({{some_condition}}){ ...

  2. 利用ADSL拨号上网方式如何搭建服务器

    序:搭建服务器需要两个条件硬件服务器和固定公网IP,随便一台个人电脑都可以作为硬件服务器,就剩下一个问题,如何获得一个固定公网IP. 第一章 扫盲:ADSL拨号上网方式,本地IP与公网IP的区别 一. ...

  3. 是智能手机推动windows xp系统停止服务吗

    昨天是windows xp系统停止服务的大限,各大媒体争相报道,漫天铺地的xp消息充斥网络,xp这个词的百度指数这段时间从4月1日的8411也开始猛涨,特别是这两天4月7日的36470飙升到4月8日的 ...

  4. spring原理

    1.spring框架什么时候被加载? (1)ApplicationContext ac = new ClassPathXmlApplicationContext("applicationCo ...

  5. MySQL数据库InnoDB引擎下服务器断电数据恢复

    说明: 线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹. 问题: 通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时 ...

  6. hdu4255筛素数+广搜

    Mr. B has recently discovered the grid named "spiral grid".Construct the grid like the fol ...

  7. php+phpquery简易爬虫抓取京东商品分类

    这是一个简单的php加phpquery实现抓取京东商品分类页内容的简易爬虫.phpquery可以非常简单地帮助你抽取想要的html内容,phpquery和jquery非常类似,可以说是几乎一样:如果你 ...

  8. 4.前端笔记之jsdom基础

    一.简介 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.DOM编程: DOM 是关于如何获取.修改.添加或删除 HTML ...

  9. HDU 5734 Acperience (公式推导) 2016杭电多校联合第二场

    题目:传送门. #include <iostream> #include <algorithm> #include <cstdio> #include <cs ...

  10. HDU 4334 Trouble (暴力)

    Trouble Time Limit: 5000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Statu ...