Jmeter关联实现及参数化使用解析

 更新时间:2020年8月14日 08:51  点击:2102

前言

一、Jmeter介绍

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

二、接口执行实现

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

三、关联实现

3.1 关联的概念

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

3.2 关联的实现步骤

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

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

JSON提取器界面操作介绍:

四、参数化实现

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

用户定义的变量实现

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

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

${__machineIP()}函数:

${__Random()}函数:

${__RandomDate()}函数:

${__RandomString()}函数:

利用csv文件实现

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

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

五:总结

  • 关联和参数化是jmeter必备技能之一,必须掌握
  • 关联可以扩展到实现一些常见的业务场景,比如随机对商品下单、随机选择选项等
  • 进行分布式性能测试的时候,csv文件注意保持每台独立
  • 参数化这一块还可以调用数据库数据、利用Bean shell取样器写java代码来实现等

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

[!--infotagslink--]

相关文章

  • postgresql 实现多表关联删除

    这篇文章主要介绍了postgresql 实现多表关联删除操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-02
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • PHP中empty和isset对于参数结构的判断及empty()和isset()的区别

    废话不多说了,直接给大家贴代码了。<&#63;php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) {...2015-11-24
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • mysql配置模板(my-*.cnf)参数详细说明

    mysql安装成功后有几个默认的配置模板,列表如下: my-huge.cnf : 用于高端产品服务器,包括1到2GB RAM,主要运行mysql my-innodb-heavy-4G.ini : 用于只有innodb的安装,最多有4GB RAM,支持大的查询和低流量 my-large.cnf : 用于...2015-03-15
  • 详解C#泛型的类型参数约束

    这篇文章主要介绍了C#泛型的类型参数约束的相关资料,文中讲解非常细致,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下...2020-07-31
  • C#中out参数、ref参数与值参数的用法及区别

    这篇文章主要给大家介绍了关于C#中out参数、ref参数与值参数的用法及区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • Java线程池中的各个参数如何合理设置

    这篇文章主要介绍了Java线程池中的各个参数如何合理设置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
  • vue+axios全局添加请求头和参数操作

    这篇文章主要介绍了vue+axios全局添加请求头和参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-24
  • 处理@PathVariable注解允许参数为空、允许不传参数的问题

    这篇文章主要介绍了处理@PathVariable注解允许参数为空、允许不传参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-23
  • SpringBoot接口接收json参数解析

    这篇文章主要介绍了SpringBoot接口接收json参数解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-10-19
  • Vue 组件复用多次自定义参数操作

    这篇文章主要介绍了Vue 组件复用多次自定义参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • pytorch 实现冻结部分参数训练另一部分

    这篇文章主要介绍了pytorch 实现冻结部分参数训练另一部分,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-27
  • 详解Java后端优雅验证参数合法性

    这篇文章主要介绍了详解Java后端优雅验证参数合法性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • C#向线程中传递多个参数的解决方法(两种)

    这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)

    这篇文章主要介绍了jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA),本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-11-18
  • JPA如何使用nativequery多表关联查询返回自定义实体类

    这篇文章主要介绍了JPA如何使用nativequery多表关联查询返回自定义实体类,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-11-18
  • spring cloud gateway中如何读取请求参数

    这篇文章主要介绍了spring cloud gateway中如何读取请求参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-15
  • 使用JavaScript获取URL中的参数(两种方法)

    这篇文章主要介绍了使用JavaScript获取URL中的参数(两种方法)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-11-22