场景:在进行jmeter的接口自动化测试脚本的编写中需要使用参数化,现将接触到的几种参数化方法整理如下:

第一种:

使用“用户自定义变量”的配置元件来进行变量定义

填入变量、值、和备注就可以在后续的接口中使用该变量,使用格式统一都为:${变量名称}

第二种:

使用配置元件“CSV Data Set Config”进行自定义传参数

1.CSV Data Set Config 读取的文件不仅仅限于 csv 文件,其可以读取文本文件(txt)

2.allow quoted data:双引号相关,例:如果参数中需包含逗号或者引号等,该项可以选择True

3.Recycle on EOF: 设置为True后,允许循环取值

4.Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效

5.Sharing Mode:共享模式:

  • All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
  • Current thread group:当前线程组,各个线程组分别循环取值。
  • Current thread:当前线程,该测试计划内的所有线程都取第一行。

第三种:正则表达式,获取上一个接口的返回值传给下一个接口,下面的接口就可以使用前面接口定义的变量了,达到了传参的目的

正则有很多的参数,下面详细说一下:
名称:可以随意设置,最好有业务意义
注释:可以随意设置,可以为空

apply to:应用范围,四个选项

main sample and sub-samples:匹配范围包括当前取样器并覆盖至子取样器(简单来说,就是在同一个控制器下的所有的父节点和子节点的接口都可以使用该变量,一般情况我都会使用这个适用范围)

main sample only:匹配范围是当前父取样器

sub-samples only:仅匹配子取样器

jmeter variable:支持对jmeter变量值进行匹配

要检查的响应字段:针对响应数据的不同部分进行匹配,共七个选项

主体:响应数据的主体部分,排除header部分;http协议返回请求的主体部分就是body

等等。。。

引用名称:匹配出来的信息通过该名称访问,例如${引用名称}

正则表达式:一般使用(.+?)这种格式来进行提取,?则是我们想要提取的信息,一定要注意括号外面的格式,务必严格按照提取的格式来写,注意返回值是否有引号扩起来,网上有一个在线工具可以检测该正则表达式是否写正确“正则表达式在线测试”

模板:$1$,指第一个模板,以此类推

匹配数字:

0-——随机取值

-1-——取所有值,可以配合for Each Controller一起来遍历

1、2、3-——取对应的第几个值(例如:如果该正则匹配出来了多个值,多个rulesid,但是我们只想用第二个rulesid,这个地方的匹配数字就写成2,下面的接口就会只使用第二个rulesid)

默认值:如果没有匹配到可以指定一个默认值

第四种:

使用JDBC的配置元件去链接我们的数据库,连上了之后,通过查询语句,查询出我们需要的值,然后传给后面的接口使用

配置元件名称:JDBC connection configuration(使用前提,需要下载一个jar包 mysql-connector-java-5.1.41-bin.jar 放在jmeter安装地址的lib目录下,重启jmeter就可以使用了)

步骤二:

添加配置原件

步骤三:添加samples:JDBC request

注意:步骤二和步骤三中的variable name必须得保持一致,注意,注意

转载于:https://www.cnblogs.com/guo2733/p/10763977.html

jmeter的几种参数化使用方法相关推荐

  1. jmeter的两种参数化方法

    2019独角兽企业重金招聘Python工程师标准>>> JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名 ...

  2. 第三讲、Jmeter的两种脚本录制方法

    1.通过badboy工具录制 2.通过jmeter代理录制

  3. Jmeter(十一)参数化

    有关参数化的概念,前面有篇随笔已经粗略的提到了参数化的一点内容.本篇来主要记录参数化. Jmeter的参数化方式有很多,在此我来一一记录,对待不同个规模.业务模型.数据量来进行记录参数化的方法. 一. ...

  4. 三角网格参数化几种简单的方法比较

    三角网格参数化可归结为这样一个问题:给定一个由空间点集组成的三角网格和一个二维参数域.通常为平面或者球面.求一个参数域上的点 P∗iP_i^* 到网格上的点pip_i的一一映射.使得参数域上的网格与原 ...

  5. jmeter之请求数据参数化

    本文介绍5种请求数据参数化的方式,包括请求元件之自定义变量,请求元件之参数化TXT,请求元件之参数化CSV,参数化函数助手之csv read,参数化函数助手之random string,大家可以根据自 ...

  6. JMeter中3种参数值的传递

    小伙伴们在使用JMeter的过程中,肯定会遇到参数值传递的问题,下面来和大家总结下,在使用JMeter做压力测试的时候,常见的3种参数值的传递是怎样的. (一)从CSV文件读取要批量输入的变量 假如我 ...

  7. (十一)Jmeter另一种调试工具 HTTP Mirror Server

    之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...

  8. kotlin调用类中的方法_一种轻松的方法来测试Kotlin中令人沮丧的静态方法调用

    kotlin调用类中的方法 by Oleksii Fedorov 通过Oleksii Fedorov 一种轻松的方法来测试Kotlin中令人沮丧的静态方法调用 (A stress-free way t ...

  9. JMeter中如何实现参数化(CSV)

    1.参数化的定义 参数化是自动化测试脚本的一种常用技巧,可将脚本中的某些参数使用变量来代替.例如登录操作时,利用GET/POST请求方式传递参数的场景,可在脚本运行时指定参数的取值范围和规则. 脚本在 ...

最新文章

  1. c枚举类型enum例题_一篇文章让你详细了解Java中Enum枚举类的使用
  2. mxnet常规优化器用法
  3. vsftpd配置文件详解[转载]
  4. Apache Flink 零基础入门(十八)Flink Table APISQL
  5. 总线接口与计算机通信
  6. Jquery Validate 动态添加校验
  7. 学会Web前端,高薪工作任你挑!
  8. maven + grunt + tomcat + cmd + sublime
  9. python display方法_在Python中縮放和顯示圖像的最快方法是什么?
  10. imx8qxp uuu 下载脚本example_kernel_emmc.uuu注释
  11. AndroidWear官方文档总结01 - 简介
  12. 民宿平台airbnb是如何动态定价的
  13. 大疆云台如何使用华为mate20pro_大疆灵眸手机云台3软件升级 完美支持Mate30系列...
  14. Android原生系统开发如何优雅的提供系统级的API供第三方程序调用?
  15. 教你找到免费的Google Translate API(谷歌翻译接口)+C#版的Google翻译函数
  16. 从事GIS开发多年,2017年对GIS行业的心得,尤其对三维GIS的理解 1
  17. Comparable Comparator
  18. 矩阵的秩和向量组的秩
  19. 安卓开发——ProgressBar反向进度条(进度条从右向左走)
  20. ME54N 采购申请审批

热门文章

  1. SAP CRM Business Partner API的buffer工作原理
  2. PostgreSQL扫盲教程
  3. 如何将iso文件安装到VirtualBox里的ubuntu去
  4. java js隐藏_Javascript匿名函数是否仍然可见? (使用Java applet,这是一种隐藏JS代码的方法)...
  5. 【信息系统项目管理师】常用网络标准与网络协议
  6. dockerfile中的run_Docker3-Dockerfile创建镜像的方法(推荐docker file这种方法)
  7. 没有dpkg命令_ffsend:在命令行中通过 FireFox Send 分享文件 | Linux 中国
  8. android 选座,机票在线选座 Android 开源库
  9. Linux如何在栈上分配内存,Java堆与栈内存分配及String小记
  10. 周期三角波傅里叶级数例题_傅里叶详解之傅里叶级数