首页 > 其他分享 >测试公开课资料系列03--Jmeter之关联实现&参数化应用

测试公开课资料系列03--Jmeter之关联实现&参数化应用

时间:2023-03-20 15:46:58浏览次数:42  
标签:右击 03 -- 接口 关联 公开课 取样器 参数

 

前言
当你变的优秀时,你想要的都会来找你。


一、Jmeter介绍

1.一款融合接口、性能都能完成的测试工具
2.纯JAVA开发的工具
3.开源工具
4.支持多种协议
5.应该是测试业界目前应用最多的工具之一

 

二、接口执行实现
1.添加HTTP取样器:右击测试计划--新建并右击线程组--添加--取样器--新增HTTP请求
2.在HTTP请求元件中添加相应请求信息(请求行、请求头、请求正文)
3.添加察看结果树:右击线程组--添加--监听器--新增察看结果树
4.保存刚设置的接口脚本,点击执行

 

三、关联实现

3.1 关联的概念

关联也称为串行传参或数据依赖,即上一个接口返回的内容的部分值作为下一个接口运行的参数的过程。

3.2 关联的实现步骤
1.在jmeter中录入A、B两个接口的信息(A为上一个接口、B为下一个接口,方便下面描述)
2.右击 A 接口的取样器 -- 添加 -- 后置处理器 -- 正则表达式提取器
3.在正则表达式提取器设置截取B接口所需要的参数信息,参数名假定为token
4.进入 B 接口的取样器,把需要填入A接口参数的地方用 ${token} 来替换
备注:如果返回的响应正文是json数据,还可以使用JSON提取器


正则表达式提取器界面操作介绍:


新梦想技术分享


JSON提取器界面操作介绍:

 

新梦想技术分享


四、参数化实现

参数化是为了让相同的模块、方法使用不同的参数进行测试,达到提高测试覆盖率的目的,jmeter实现参数化的方式很多,常用的方式有:

用户定义的变量实现

新梦想技术分享

 

函数助手对话框的部分函数实现

依次进入--tools菜单--函数助手对话框,部分函数举例如下:

${__machineIP()}函数:


新梦想技术分享
${__Random()}函数:

新梦想技术分享
${__RandomDate()}函数:


新梦想技术分享
${__RandomString()}函数:


新梦想技术分享
利用csv文件实现


CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,jmeter使用csv文件也可以来进行参数化。

通过右击线程组--添加--配置文件--csv数据文件设置,界面如下:

 

五:总结
关联和参数化是jmeter必备技能之一,必须掌握

关联可以扩展到实现一些常见的业务场景,比如随机对商品下单、随机选择选项等

进行分布式性能测试的时候,csv文件注意保持每台 独立

参数化这一块还可以调用数据库数据、利用Bean shell取样器写java代码来实现等
超全面的测试IT技术课程,0元立即加入学习!有需要的朋友戳:腾讯课堂测试技术学习地址 https://newtest.ke.qq.com/?tuin=ace78c12

标签:右击,03,--,接口,关联,公开课,取样器,参数
From: https://www.cnblogs.com/xmxit/p/17236482.html

相关文章

  • 使用Navicat创建存储函数时传递多个参数总是报错
      当我不传递参数时,它不报错;当我只传递一个参数时,它也不报错;可当我传递多个参数时,它就是会报错!!!人都麻了 后来发现传入的参数类型如果是字符串的话,Navicat并不会......
  • qps和tps区别
    1、TPS:TransactionsPerSecond,意思是每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程......
  • 昏暗,干燥。
    昏暗,干燥。每时每刻都打不起精神。我生活在一个令我恶心的环境,周围的一切:教室,宿舍,图书馆,食堂,司南路,都令我作呕。每天都被动忍受着人的喧闹,被此打扰睡眠,恶性循环。被别......
  • 超简单的Matlab2022b软件切换中/英文界面方法教程(附软件下载)
    在中文Windows操作系统中,MATLAB2015b之后版本安装默认为中文版,但有部分用户还是习惯使用英文界面下的MATLAB(个人偏好),下面以R2022b版分享一下中/英文界面的切换方法,超简单。......
  • java常用的工具类之CollectionUtils
    org.apache.commons.collections4.CollectionUtils1.判断集合是否为空或者不为空//为空CollectionUtils.isEmpty(null):trueCollectionUtils.isEmpty(newArrayList(......
  • two tiny problems I encoutered today when installing adobe in ubuntu Jammy
    installationguide: https://linuxconfig.org/how-to-install-adobe-acrobat-reader-on-ubuntu-20-04-focal-fossa-linux#:~:text=Since%20Ubuntu%20does%20not%20have%2......
  • 第七节:Git补充(开源协议、配置、等等)
    一.开源协议  新建仓库的时候,有个开源许可证,如下图:   常见的开源协议: 二.gitpush默认配置       三.         !......
  • 6.基本命令
    查看pod: kubectlgetpod 查看你默认命名空间的pod kubectlgetpod-n空间名 查看指定命名空间下的pod kubectlgetpod-owide-A 查看所有......
  • wpf不在主线程的话放到主线程执行
    ///<summary>///刷新页面状态///</summary>///<paramname="overViewState"></param>///<paramname="strValue"></param>......
  • JAVA并发
    并发三要素:可见性:一个线程对共享变量的修改,另一个线程能马上看到(CPU缓存引起)原子性:一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。......