前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试系列之《LR自动关联》

性能测试系列之《LR自动关联》

作者头像
清菡
发布2022-06-21 15:16:43
3130
发布2022-06-21 15:16:43
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 1.关联介绍
  • 2.关联的目的
  • 3.一般的关联步骤
  • 4.设置示例网站
  • 5.进行自动关联
  • 6.常见的需要关联的情景
  • 7.更正

不要在windows10上安装LR11,以免出现一些不可预测的问题。破解版会有各种问题,别学LR直接学Jmeter。不过,LR的关联和Jmeter的关联是差不多的。

你要是实在想装LR,这个链接比较靠谱:

https://mp.weixin.qq.com/s/osTwLJn-UwBl2pKLP1B8gA

1.关联的介绍

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

2.关联的目的

  • 简化或优化代码。

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

  • 用于动态数据。

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

  • 容纳唯一数据记录。

某些应用程序(例如数据库),要求使用唯一的值。录制期间唯一的值在脚本执行时将不再唯一。例如,假设您录制了打开一个新的银行账户的过程。

每个新账户都分配了用户未知的唯一编号。录制期间,此账号将插入具有唯一关键字约束的表中。

如果尝试按所录制的那样运行脚本,该操作将尝试用录制的编号而不是新的唯一编号创建账户。

结果将产生错误,因为该账号已经存在。如果在运行脚本时遇到了错误。请在发生错误的位置检查脚本。

大多数情况下,通过关联查询功能可以解决该问题,关联查询将一个语句的结果用作另一个语句的输入。

3.一般的关联步骤

  • 从服务器返回的数据中选取需要进行关联的数据。
  • 将该数据存入脚本的一个参数中。
  • 将脚本中需要使用该数据的地方用参数来替换。

提示:

  • 对于Web来说,一般会用一个hidden的field存放。

4.设置示例网站

  • 为了让示例网站在每次登陆时创建不同的ID我们需要设置一下。
  • 在网站的首页中设置,选中Set LOGIN form's action tag to an error page.

5.进行自动关联

  • Tools-Recording Options
  • 设置完成后录制登录---退出过程。
  • 利用LR自带的自动关联进行关联。

点击录制,

点击OK,自动打开浏览器网页,输入用户名密码,点击退出。

点击停止,结束脚本,这个时候脚本已经录制完毕。

录制完成后,回放一遍这个脚本。

发现报错了

关联一般来说,没有指向性的错误,不会提示你需要关联什么,一般会出现各种错误。

扫描下脚本中需要关联的

点击一下。

扫描完毕后,它告诉你这个东西需要关联

而且上面弹出图来,可以看到这是两个动态值。

Value后面的2个值,是不一样的。type=hidden,隐藏的这个东西,它给你指出来了就是Value后面的值不一样。

选中选择关联

切换到脚本视图可以看到:

就是用这个函数进行关联的

以后手动的关联基本上都是用这个函数。

保存起来,它的名字就是这个

往下拉,可以看到userSession,把WCSParam_Diff1这个参数再拿出来了在用

再次回放一下,成功了。

注意:要想使用LR自带的扫描关联功能的话,前提是必须将录制好的脚本进行一次回放。让它找到错误,然后再进行扫描,它才能进行识别,不然是无法识别的。

6.常见的需要关联的情景

  • 登录操作。
  • 先查后修改,先查后删除。
  • 并发控制:防止两个用户同时修改或同时删除一条记录。

7.更正

更正上篇文章性能测试基本概念剖析中部分内容。

更正:TPS是指每秒钟系统能够处理事务的数量。是事务不是事物。

点击一个按钮一次,可能发送一个或多个Http的请求。并不是点击一个按钮一次,对应发送一个Http的请求。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 1.关联的介绍
      • 2.关联的目的
        • 3.一般的关联步骤
          • 4.设置示例网站
            • 5.进行自动关联
              • 6.常见的需要关联的情景
            • 7.更正
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档