lR关联功能总结

LR关联功能总结

    一.关联介绍:

         LR录制的脚本只是忠实记录了所有从客户端发送到服务器端的数据,并在脚本回放的时候按照录制的顺序将录制下来的数据重新发送出去。但是,实际上许多的系统都采用SessionID或SeqID等方法来标识不同的任务和数据报,应用在每次运行时发送的数据并不完全相同。所以,为了让脚本能够支持测试的需求,就必然要用某种机制对脚本的数据进行出来了。总之一句话:通过关联可以在测试中保持动态值。

   二.一般的关联步骤:

      1.从服务器返回的数据中选取需要进行关联的数据。

      2.将该数据存入脚本的一个参数中

      3.将脚本中需要使用该数据的地方用参数来替换。

     Tip:对于web来说,一般会用一个hidden 的 field存放。所以在可以服务器返回的记录查找该字段值。

    三:关联的目的:

       1.简化或优化代码

        例如,如果依次执行一系列的相关查询,您的代码可能会变得很长。为了减少代码的大小,可以嵌套查询,但这样会失去准确性,而代码会变得复杂而难以理解。通过关联语句,不需要嵌套就可以链接查询。

       2.用于动态数据       

       许多应用程序和网站当前日期和时间标识会话。如果尝试重播脚本,该操作将会失败,应为当前时间与录制时间不同(LR自带的WEB演示程序)。通过关联数据可以保存动态数据,并在整个方案过程中使用这些数据。

     四:关联操作

     方法一:自动关联

        1.Tools -Recording Options。

        2.设置完成后录制登陆 - 退出过程。

        3.利用LR自带的自动关联进行关联。

     方法二:手动关联

         1:录制测试脚本,录制二遍

         2:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联(Tools下的 Compare with Vuser进行2个相同操作的脚本对比)

         3:确定插入关联的位置

          4:在VIEW TREE中使用web_reg_save_param函数手动建立关联

          5:将脚本中有用到关联的数据,用参数代替

        6:验证关联的正确性

     五:定位需要关联操作

         1.Vuser -Scan Script. for Correlations

         2.在Server Response 中进行比对2次服务器变化的数值。

      六:常见的需要关联的场景

         1.登录操作。

         2.先查后修改,先差后删除。

         3.并发控制:防止2个用户同时修改或同时删除一条记录。

      七:关联函数模型

       int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);  成功返回:LR_PASS(0),失败LR_FAIL(1)

        例子:web_reg_save_param ("Test","LB=userSession Value","LB=>","Ord=1"

               "RelFrameID=1.21","Serch=Body","IgoreRedirections=Yes",LAST);

本文转载自51testing :北京-小林,想留着以后慢慢来研究!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongoose 多条件 模糊查询

需要知道两个标识符就可以搞定。 $or 用于多条件查询 http://www.nodeclass.com/api/mongoose.html#query_Query-or $regex 用于模糊查询 http://www.nodeclass.com/api/mongoose.html#query_Query-regex 试例代码&#xff1a; //从URL中传来的 keyword参数 const keyword t…

.NET深入实战系列—Linq to Sql进阶

.NET深入实战系列—Linq to Sql进阶 最近在写代码的过程中用到了Linq查询&#xff0c;在查找资料的过程中发现网上的资料千奇百怪&#xff0c;于是自己整理了一些关于Linq中容易让人困惑的地方。 本文全部代码基于&#xff1a;UserInfo与Class两个表&#xff0c;其中Class中的U…

11G数据库导入10G的操作实践

Oracle11g数据库导入Oracle10g数据库操作笔记用exp、imp命令时进行11g备份&#xff0c;导入10g的时候会抛错&#xff1a;不是有效的导出文件&#xff0c;头部验证失败&#xff1b;未成功终止导入。我今天就遇到了这种情况&#xff0c;搭建测试环境时&#xff0c;有一个项目使用…

软件测试个人心得总结

做测试有几年的时间了&#xff0c;很少这样了完整的来总结一些东西&#xff0c;最近有时间小小的总结了一下&#xff0c;针对公司有些项目提交测试时&#xff0c;存在的一些问题&#xff0c;谈谈个人的一些看法&#xff0c;比如没有需求&#xff0c;也没什么任何文档或有少量不…

【BZOJ1003】物流运输

1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 8273 Solved: 3481[Submit][Status][Discuss]Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大&#xff0c;需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通…

mongoose日期 时间 范围查询

需要知道的两个修饰符 $gte和$lt $gte (greater-than)$lt (less-than) 写法如下 const start new Date(2018, 3, 1); const end new Date(2018, 4, 1); db.posts.find({created_on: {$gte: start, $lt: end}});

Oracle rman备份和还原恢复数据库

1、切换服务器归档模式&#xff0c;如果已经是归档模式可跳过此步&#xff1a;%sqlplus /nolog &#xff08;启动sqlplus&#xff09;  SQL> conn / as sysdba &#xff08;以DBA身份连接数据库&#xff09;  SQL> shutdown immediate; &#xff08;立即关闭数据库&a…

JavaScript 随意整理2

08.29 # 全局对象* escape/unescape() 对特殊字符编码/解码* encodeURI / decodeURL 对url进行编码/解码* encodeURIComponent / decodeURIComponent 对URL解码/解码* eval() 把字符串当做代码执行# JSON对象* parse() 把josn字符串转换为对象* stringify() 把对…

css scale 缩放基准点

使用transform-origin来进行控制 在使用transform方法进行文字或图像的变形时&#xff0c;是以元素的中心点为基准点进行的。使用transform-origin属性&#xff0c;可以改变变形的基准点。 用法&#xff1a;transform-origin: 10px 10px; 共两个参数&#xff0c;表示相对左上角…

闪回区设置问题

oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性&#xff0c;可以将所有恢复相关的文件&#xff0c;比如flashback log,archive log,backup set等&#xff0c;放到这个区域集中管理。 查看闪回区内容及使用情况&#xff1a; select * from v$flash_recov…

多主机Docker容器的VLAN划分

原文发表于cu&#xff1a;2016-06-06 参考文档&#xff1a; Docker网络的4种模式&#xff0c;pipework/ovs的简单使用等&#xff1a;http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice Dockerpool全文档&#xff1a;https://yea…

css p 文本不换行,超出文字显示省略号

.text {// 文本强制不换行white-space: nowrap;// 文本溢出显示省略号text-overflow: ellipsis;// 溢出的部分隐藏overflow: hidden; }

oracle监听无法启动常用解决办法

在cmd下使用lsnrctl start无法启动监听程序提示&#xff1a;TNS-12560: TNS: 协议适配器错误在cmd下进入lsnrctl&#xff0c;输入start提示&#xff1a;TNS-12557: Message 12557 not found; No message file for productNETWORK, facilityTNSns secondary err code: 12560请检…

mongodb 高级查询 统计记录条数

使用count()方法查询表中的记录条数&#xff0c;例如&#xff0c;下面的命令查询表users的记录数量&#xff1a; db.users.find().count();

SQL语句优化

【数据库优化的目的】 1.避免出现页面访问错误 由于数据库连接timeout产生页面5XX错误。 由于慢查询造成页面无法加载。 由于阻塞造成数据无法提交。 2.增加数据库的稳定性 很多数据库问题都是由于低效的查询引起的。 3.优化用户体验 流畅的访问速度。 良好的网站功能体验。 【…