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);} |
Loadrunner关联的更多相关文章
- Loadrunner关联取参及设置检查点
Loadrunner关联取参及设置检查点: 获取post的响应值当作参数存储,要在此post请求之上添加 web_reg_save_param("sign", "LB=m ...
- Loadrunner 关联 web_custom_request综合实例
Loadrunner 关联 web_custom_request综合实例 Loadrunner 关联web_custom_request,针对自带的订票系统的一个综合实例,相信看了本文大家对学习loa ...
- loadrunner 关联匹配多个值
loadrunner 关联获取从服务器返回相关值,如果需要把所有匹配的值都获取并且把这些值打印出来,怎么做呢? 1.首先要把把所有的匹配值都保存起来,需要在关联函数里面多传递一个参数:"Or ...
- 品味性能之道<八>:Loadrunner关联技巧与字符处理
一.概述 Loadrunner作为HP出品的性能测试工具,拥有太多奇妙魔法甜点供予性能测试人员享用,其中吃起来比较有嚼劲的那就是关联了.当然在关联之后我们还需要一些简单的字符处理,用以生成 ...
- LoadRunner关联通用函数的学习
LoadRunner关联通用函数的学习 写这篇文章的时候,我先声明一下,本BLOG中的文章如果没有写出是转贴的一般就是本人原创. Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符 ...
- loadrunner关联——对服务器返回的数据选择性提交
在跟进项目的过程中,才体会到自己之前闷头看书再写小小的测试程序验证的学习方式很没有效率,知道动态关联,却也只是会参数化式的动态关联,这种关联是我们预先知道要提交的数据而进行的关联:更高一级的可能就是使 ...
- LoadRunner关联之学习笔记
去银行办业务,进银行的门,大堂经理给你一张业务号,拿着这张业务号,去柜台办理业务.--录制下来 第二天又去银行,还是拿着这张业务号,去柜台办理业务,柜员就不理你了,因为这张业务号是昨天的.--回放过程 ...
- loadrunner关联数组后拼凑字符串
loadrunner拼接关联数组的元素 int arrSize=0; int index=1; int len=0; char arryStartString[1024]=""; ...
- Loadrunner—关联知识点
一.关联定义 把脚本中某些写死的数据,转变成是撷取自服务器所发送的.动态的.每次都不一样的数据 二.什么时候需要做关联 要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程 过程说明: ...
随机推荐
- NAT/PAT
NAT/PAT 编辑 NAT就是网络地址翻译的英文缩写,在路由器上配置NAT服务,可提供公司内100~200人同时上网的服务.不需要Proxy Server,所有的服务都可顺利使用(除Netmeeti ...
- JQuery元素获取
前言:这是本类别博文JQuery即用即查开篇. 因为查手册太麻烦,而且有时候需要深入命令所在详细页面才能了解此命令的具体作用是什么. 写这几篇文章就是为了,工作遇到问题时,一看这几篇文章就可以查到哪个 ...
- artEditor增加表单提交功能
摘要: artEditor.js是一款移动端的富文本编辑器,支持图片上传,后面会增加表情.小视频等功能.最近有朋友反馈artEditor是否支持表单提交,当然是支持的,在未开发该功能之前,你可以像下面 ...
- 忘记mysql root用户密码
今天帮一个售后的同事解决网盘无登录的问题,看了下后台日志,报错用密码root连接不上数据库,然后我就强行改了一下数据库密码,就OK了. (1)用root登录系统. (2)vim /etc/my.cnf ...
- [Effective JavaScript 笔记]第38条:在子类的构造函数中调用父类的构造函数
示例 场景类 场景图(scene)是在可视化的过程中(如游戏或图形仿真场景)描述一个场景的对象集合.一个简单的场景包含了在该场景中的所有对象(称角色),以及所有角色的预加载图像数据集,还包含一个底层图 ...
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态 面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...
- 修改setup.py的源
方法一: 修改文件 ~/.pydistutils.cfg为: [easy_install] index_url = http://pypi.douban.com/simple 方法二: 直接在setu ...
- catalog、scheme区别
按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题.从概念上说,一个数据库系统包含多个 ...
- java中四种阶乘的计算
package com.zf.s2;//创建一个包 import java.math.BigInteger;//导入类 import java.util.ArrayList; import jav ...
- Compare Strings
Compare two strings A and B, determine whether A contains all of the characters in B. The characters ...