• 0
  • 0
分享
  • 测试过程中Jmeter的几种参数化方式——软件测试圈
  • 恬恬圈 2023-11-27 17:03:55 字数 1180 阅读 1144 收藏 0

  1、用户定义的变量

  当我们每次去调用接口都要手动修改手机号码,并且注册和登录接口都要同步修改,这样操作相当繁琐,针对这个问题我们使用用户定义的变量的工具进行优化。

  添加:在线程组上:右键—>添加—>配置元件—>用户定义的变量

  用户自定义变量是固定的,与下面的“用户参数”有点不同(比如:${__Random(1000,9999,)},多个虚拟用户请求时,生成的四位数都是固定同一个)

15-1.png

  我们把注册和登录的手机号和密码都提取出来放到这里。

15-2.png

  定义了之后,我们需要调用该参数,调用方式是在对应的取样器里,使用${key}的格式替换取样器请求体里的值,这样我们就可以每次只修改一次就可以在所有的接口上通用了。

15-3.png

  虽然在此基础上已经得到了相应的优化,我们能不能做到每次运行的时候都不用去修改用户定义的变量里面的值呢?答案是可以的,这时候我们要使用到函数助手,构造相应的随机函数。

15-4.png

  对于函数的各种用法,这里不做说明,可以通过函数助手的帮助去查看各个函数的使用方法。

15-5.png

  我们通过函数助手来构造一个生成随机手机号的方法来替换用户定义的变量的值。

15-6.png

  2、CSV数据文件设置

  该方法也是参数化的一种场景,我们可以提前使用csv文件或者其它文本文件(txt、log、xml、json...)构造大量数据,然后再读取文件里面的内容引用到对应的接口当中去,这里要注意的是在国内csv我们使用excel编辑器保存后遇到中文会出现乱码的情况,因此需要进行转码后才能正常使用!

  在线程组上:右键—>添加—>配置元件—>CSV数据文件设置

15-7.png

  我们先构造测试数据:

15-8.png

  然后配置CSV数据文件设置:

15-9.png

  此时我们可以直接替换接口参数的值为该变量名称,但是不可以替换用户定义的变量的值,会引用不到。

15-10.png

  执行结果如下:

15-11.png

  我们如果设置并发量为5,则会依次读取每一行数据。

15-12.png

15-13.png

  3、用户参数

  在用户定义的变量中使用随机生成手机号的方式执行,它的执行原理是在整个线程组执行会话之前创建一次后,执行过程中的所有线程都会去使用这个值,并不是每个线程组使用时都会随机生成不一样的值,所以在并发测试中,遇到这种情况就不行了,因此我们可以用户参数的工具来使得每个线程组调用的时候都能随机生成一个随机数。

  ·用户参数是随机生成的,于上面的“用户自定义变量”有点不同(比如:${__Random(1000,9999,)},多个虚拟用户请求时,生成的四位数都是随机生成的)

  · 使用${名称}进行调用参数

  在线程组上:右键—>添加—>前置处理器—>用户参数

15-14.png

  我们可以将上面用户定义的变量中由函数助手生成的函数拿到用即可。

15-15.png

  我们将接口参数化替换。

15-16.png

  设置并发为10,查看结果:

15-17.png

15-18.png


作者:守护往昔    

来源:http://www.51testing.com/html/53/n-7789553.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   即使测试熟悉了,一旦产品开发出来,测试拿到参评就开始使用找bug吗,我想即使测试熟悉了产品,在测试的过程中肯定对产品的功能有所遗忘,即使是熟悉过文档,由于一款产品的功能模块实在太多;如果测试只是凭着对需求文档的熟悉度,就开始乱点,没有计划没有目标开始测试,到头来自己做过哪些操作都忘记了,更别谈测试效率,能把测试工作做好了。  所以在产品的规划设计阶段,测试就已经开始参与到产品中来,开始熟悉产品,收集各种文档整理成一些操作步骤,这样就形成了测试用例,于是用例的生命周期就开始了。  用例的第一个作用就是,把产品需求转换为一种可操作的步骤,方便以后有步骤有计划的进行测试。而在这样的转换过程中,由...
            0 0 1130
            分享
          • 今天我们来聊一下测试管理者的修身齐家治国平天下。话题有点大,咋一看,这话题有点玄乎,是不是?不知道大家会不会有点懵?修身齐家治国平天下出自:《礼记·大学》原文:物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。释义:修身:提高自身品德修养;齐家:整顿家庭,使家和睦;治国:治理国家;平天下:天下太平。理解:这是句激励人生、成就人生的历史名言。修身、齐家者容易,治国、平天下者难也。即便有此抱负,也未必有此机会。所以,修身先为本,"穷则独善其身、达则兼济天下"嘛,修身的办法就是物格、知至、意诚、心正,物格、知至、意诚、心正的大体意...
            0 0 2260
            分享
          •   据报道,美国国家公路交通安全管理局(NHTSA)今日表示,在接到两起投诉后,已开始对特斯拉(182,-5.71,-3.04%)ModelY电动汽车的方向盘脱落问题展开调查。  NHTSA称,已经接到两起事故投诉,车主在驾驶2023年生产的ModelYSUV电动汽车时,车轮竟然脱离了转向柱,即方向盘脱落。这主要是因为,受影响车辆在没安装固定螺栓(用于固定方向盘)的情况下就交付给了车主。  3月4日,NHTSA对此展开了初步评估,涵盖大约120089辆汽车。NHTSA今日称,目前正在评估“与这种情况相关的范围、频率和制造工序。”  对此,特斯拉尚未发表评论。  3月6日,公开资料显示,特斯拉在...
            0 0 1278
            分享
          • 一、jmeter简介Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以;Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同时取样。二、jmeter安装首先需要安装jdk(最好是最新版的);其次去官网下载最新的jmeter版本;然后配置jmeter的环境变量;最后双击jmeter.bat或者在“命令提示符”输入jmeter,运行jmeter。具体安装步骤请自行网上查看三、设置jmeter的中文界面进入jmeter的bin目录,找到“jmeter.properties”文件,打开文件搜索“language”,将“#langu...
            0 0 1213
            分享
          •   在今日的 2024 联想创新科技大会上,联想集团与 FIFA 国际足联宣布达成合作,联想集团成为 FIFA 官方技术合作伙伴 —— FIFA 最高级别的赞助类别。  该合作协议涵盖将在加拿大、墨西哥和美国举办的 2026 年 FIFA 世界杯,以及将在巴西举办的 2027 年 FIFA 女足世界杯。  根据合作协议,联想集团的产品、服务和解决方案,包括一系列最新的 AI 创新产品组合、标志性的 ThinkPad 笔记本电脑、平板电脑、摩托罗拉手机和服务器等,都将应用到 2026 年和 2027 年的世界杯赛事中。这些技术将用于提升球场内球迷观赛体验和全球转播效果,增强赛事分析。  注:20...
            0 0 180
            分享
      • 51testing软件测试圈微信