场景:在进行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必须得保持一致,注意,注意

jmeter的几种参数化使用方法的更多相关文章

  1. jmeter的三种参数化方法

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  2. 【Jmeter基础知识】Jmeter的三种参数化方式

    JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 ...

  3. jmeter的几种参数化方式

    在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点.参数化的使用场景,例如: 1)多个请求都是同一个ip地址,若服务器地址更换了,则脚本需要更改每个请求的i ...

  4. jmeter的三种参数化

    以FTP请求(用户.密码)为例:(其他都相同) 1.文件参数化 使用配置元件中的CSV Data Set Config 配置CSV Data Set Config: 文件中存储ftp登录的用户名和密码 ...

  5. Jmeter(十一)参数化

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

  6. Jmeter参数化的方法

    测试接口时,使用Jmeter在请求中输入参数,若是有多种情况,有多条测试参数,是不是要每个情况逐条输入呢?逐条输入会让人觉得比较麻烦,因此,就有了Jmeter参数化. Jmeter参数化的方法: 用户 ...

  7. JMeter四种参数化方式

    JMeter参数化是指把固定的数据动态化,这样更贴合实际的模拟用户请求,比如模拟多个不同账号.JMeter一共有四种参数化方式,分别是: CSV Data Set Config Function He ...

  8. jmeter(十)参数化

    jmeter可以用来做接口.性能测试,原理是模拟客户端向服务器发送请求,请求里面包含两种不同情况的参数,一种是包含在URL中,一种是请求中需要发送的参数. 包含在URL中的参数,例如:http://b ...

  9. <转>jmeter(十)参数化

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

随机推荐

  1. winform SerialPort串口通信问题

    一.串口通信简介串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为串 ...

  2. [数据结构] 2.2 Huffman树

    注:本文原创,转载请注明出处,本人保留对未注明出处行为的责任追究. 1.Huffman树是什么 Huffman树也称为哈夫曼编码,是一种编码方式,常用于协议的制定,以节省传输空间. A - F字母,出 ...

  3. leetcode刷题——一些算法技巧总结2.0

    异或.与的一点总结(这些位运算真的是骚操作2333) 两个相同的数字:a^a=0 取出一个数最右端为1的那一位:a &=-a 其中-a是在计算机中就是a的补码表示(这样所有的加法运算可以使用同 ...

  4. java.lang.ClassNotFoundException: org.apache.log4j.Logger 异常

    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'd ...

  5. word中一页中添加两种不同的页码

    ,在文档编写的过程中,可能一个页面需要编写两个不同的页码,举个例子,在页脚有一个页码是整个文档的页码,页眉有一个页码,是每个章节的页码: 设置如下: 此处选中这个图标是为了能够看到分节符和其他的符号 ...

  6. Loadrunner11中webservice协议脚本总结

    Loadrunner11中webservice协议脚本总结 简介     webservices协议是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接,其中最基 ...

  7. Jenkins的安装配置和使用

    Jenkins的安装配置和使用 1 Jenkins介绍 w3cschool中这样介绍:Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...

  8. xtratabcontrol控件的标签样式--文本的宽高

    Skin skin_ = TabSkins.GetSkin(DevExpress.LookAndFeel.UserLookAndFeel.Default.ActiveLookAndFeel); Ski ...

  9. kafka 消费模型图

  10. springboot based 主从数据源中间件方案

    先定几个原则/目标: 原则: 1.必须保证数据逻辑的一致性: 反例:刚写了数据,(因为主从延迟)查询不到: 2.对开发人员透明,对业务代码无侵入性:与单数据源的业务代码调用一致: 反例:对已有业务代码 ...