• 循环使用接口返回的多值老大难?看我教你使用jmeter掌握72变!


    有同学在用jmeter做接口测试的时候,经常会遇到这样一种情况:

    就是一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。

    这种要怎么做呢?

    有一定基础的人,可能第一反应就是先提取前一个接口返回的所有值,然后再用一个循环控制器,循环使用值就可以了啊。

    对,非常棒,思路清晰,完全正确,但是做起来真的就这么简单吗?

    好,现在加大一点难度:我只想循环请求前一个接口返回值中的随机不定长度的某一些值(并不想用全部的)。

    如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

    【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337

    这样的,好做吗?

    今天,我就和大家讲讲,这两种,我们如何实现。

    第一种,如:有一个获取用户列表的接口,返回了所有的用户信息,接下来,我就想把所有用户都登录一遍。这种常见于企业中有一个获取商品列表的接口,就想验证下所有的商品详情信息是否都正常,是否存在无效商品。我们怎么做呢?

    首先,在我们的获取用户信息列表接口,看下接口返回信息的类型和用户手机号码字段名称,如果返回类型时json的,我们就在下面增加一个后置处理器——json提取器或正则提取器,提取所有用户的手机号码信息。

    图片

    然后,我们再添加一个逻辑控制 > 循环控制器。因为获取的用户手机号码总数可能一直在变,不是一个固定值,所以,循环次数不能使用固定值。哪这个循环控制循环次数怎么配置呢?我们要使用上一步,json提取中变量名称加_matchNr这样的新变量。

    图片

    然后,在循环控制器下面挂上下一个接口。那此时又有个新问题了,有了循环次数,接口每次调用的时候,接口参数中手机号码如何自动更新值呢? 这个问题,有经验的同学,可能会第一反应说,加个计时器。

    对,是个好办法。但是,我呢,比较懒,不想去再添加一个计时器配置元件,我就加个计时器函数。

    图片

    ok,万事俱备,只欠东风。run一下看下。

    图片

    图片

    图片

    看到了吗?总共有1000个手机号码,最后,汇总报告中,显示的总取样次数也是1000,说明我们的循环写法没有问题。

    第二种,我们想随机抽取所有用户中的随意长度用户,常见于企业中商品数量比较多,随机抽检任意多个商品,验证商品详情是否正常。

    这样的,我们该如何做呢?

    第一步,依然是在获取用户列表接口下面添加后置处理器——json提取器或正则提取器。只是,这次我们的提取写法不一样了。

    图片

    第二步,依然是添加循环控制器,只是,又有一个新问题了,因为都是随机数,起始和终止值之间的差距不确定,循环次数也就不确定,哪这个循环次数如何设置呢? 这里我们引入一个intSum求和函数

    图片

    第三步,同第一种方法的第三步完全一样(有同学可能会问,为什么会完全一样呢?留个大家自学研究,动手验证)。

    最后,我们也来run一下,看看我们的结果。

    图片

    图片

    图片

    图片

  • 相关阅读:
    Syntax Error: Error: Missing binary. See message above.
    C语言学习之路(基础篇)—— 文件操作(下)
    【新】使用setuptools打包Python项目
    解决 matplotlib 中文字体无法显示问题
    wsl2安装fsl
    Python 操作Mysql
    深入了解Laravel:PHP面试宝典
    Cookie使用细节 [JavaWeb][Servlet]
    MySQL学习笔记
    OpenSIPS OutOfMemory 崩溃处理
  • 原文地址:https://blog.csdn.net/caixiangting/article/details/133774131