jmeter参数关联

接口测试中经常会碰到,下一个接口的入参是上个接口的出参,企业中不可能实时进行手工改动,那么就需要用到参数的关联,把接口的响应数据,输出给下一个接口。参数关联我们可以使用正则表达式提取器或者是json提取器进行数据的提取。

正则表达式

  • ():括起来的部分就是要提取的。

  • .:匹配除换行外的任何字符串。

  • +:代表+号前面的字符必须至少出现一次(一次或多次)。

  • ?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。

  • :代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)

  • (.*):贪婪模式,匹配尽可能多的字符

  • (.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

正则表达提取器模板

如果想要输入多个参数应该怎么处理模板,则可以写成:$1$$2$。无论要提取多少个值,引用名称就是一个的,比如名称为id,${id}:获取整个字符串a和b,则${id1}:获取的是a,${id2}:获取的是b。

jmeter接口请求中添加后置处理器--正则表达式提取器

以上是对上个接口返回的数据进行提取,接下来需要对下个接口进行引用:

变量的形式传给下一个接口,发起请求可以看到结果是什么:

json提取器

json提取器和json断言都需要引入第三方jar包jmeter没有自带这个插件,下载地址:https://jmeter-plugins.org/?search=jpgc-json,下载完成后放到jmeter对应目录下。

json提取器和json断言,需要了解下jsonpath表达式,可参考历史文章:

如何使用jsonpath与python结合进行接口响应断言

在进行jsonpath表达式填写之前,我们可以切换响应数据的格式,改为json path tester,在这里我们先进行简单的表达式调试:

后置处理器添加json提取器

接下来传给我们需要这个参数的接口:

运行查看我们参数传递的正确性:下面是新建的主题返回的id参数

下面是我们接收到的参数,进行修改:

jmeter断言

jmeter运用中断言方式主要为3种,响应断言,json断言,beanshell语句断言。

响应断言

接口请求中添加断言--响应断言

以上可以看到,断言校验未通过

json断言

接口请求下面添加断言--json断言

然后我们在看到调试无误后,在json断言里面进行设置:

beanshell断言

beanshell语句实际为java源代码语句,语法相通,首先需要先添加提取器,提取出变量:

然后添加beanshell断言

利用提取器提取的变量进行beanshell语句进行判断

运行查看结果:

传递给beanshell的参数_jmeter基础之断言及参数的关联性相关推荐

  1. python中multiple函数_关于多处理:在Python中将多个参数传递给pool.map()函数

    本问题已经有最佳答案,请猛点这里访问. 我需要一些方法来使用pool.map()中接受多个参数的函数.根据我的理解,pool.map()的目标函数只能有一个iterable作为参数,但是有没有其他参数 ...

  2. foreach循环怎么获取全部返回值_jmeter基础逻辑控制器之ForEach控制器

    关于jmeter中的逻辑控制器有很多是可以帮助我们在接口测试中解决很多问题的,今天我们来了解一下ForEach控制器,看到这个控制器很多人第一反应是for循环,实际原理也差不多,但是并不等同于jmet ...

  3. 通过BeanShell获取UUID并将参数传递给Jmeter

    有些HTTPS请求报文的报文体中包含由客户端生成的UUID,在用Jmeter做接口自动化测试的时候,因为越过了客户端,直接向服务器端发送报文,所以,需要在Jmeter中通过beanshell获取UUI ...

  4. python中forward的参数_如何将关键字参数传递给preforward钩子使用的forward?

    Torchscript不兼容(截至1.2.0) 首先,您的示例torch.nn.Module有一些小错误(可能是意外造成的).在 第二,您可以将任何传递给forward,register_forwar ...

  5. java+hadoop配置参数_将Hadoop参数传递给Java代码

    我有一个Uber jar执行一些级联ETL任务. jar的执行方式如下: hadoop jar munge-data.jar 我希望在作业启动时将参数传递给jar,例如 hadoop jar mung ...

  6. 检查传递给Bash脚本的参数数量

    本文翻译自:Check number of arguments passed to a Bash script I would like my Bash script to print an erro ...

  7. 如何将命令行参数传递给Node.js程序?

    我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动. 我不确定如何在JavaScript中访问参数. 我正在像这样运行节点: $ node server.js folder 这是 ...

  8. php向bat中传递参数,php-将参数传递给PHPUnit

    php-将参数传递给PHPUnit 我开始编写PHPUnit测试,并且希望这些测试可以在开发人员的机器以及我们的服务器上运行. 开发人员计算机的设置与服务器不同,甚至彼此不同. 要在这些不同的地方运行 ...

  9. delphi中的函数传参如何传枚举参数_Python基础笔记Day05函数

    Python函数 function 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但 ...

最新文章

  1. UML工具 MAGICDraw
  2. 【IDAX投研中心】BCH诞生一周年 “青出于蓝而胜于蓝”吗?
  3. 在Objective C中定义私有的成员变量
  4. C++类中的封装-9
  5. google圣诞节彩蛋
  6. [洛谷P3829][SHOI2012]信用卡凸包
  7. 华为软件java笔试_华为软件笔试题4.10
  8. CPU的DataSheet和UserManual的区别
  9. Excel计算1-12月的销售累计额
  10. java定义个字符串_Java定义字符串(2种方式)
  11. 践行社会责任的路上,中概股们看到了怎样的风景?
  12. 115道Java面试题
  13. 云服务器,liunx服务器上的图片通过浏览器访问
  14. js 禁用输入法(伪) / keydown返回false仍然可以输入的问题
  15. 推迟14年寿命仅10年,造价百亿美元堪比航母,这面金色镜子能干啥
  16. 如何保护个人的隐私安全
  17. LV6TCP编程API
  18. 网站群对比分析之-We7 VS WebPlus
  19. SQL学习----添加列到指定位置
  20. 英语思维VS汉语思维

热门文章

  1. RabbitMQ创建远程连接用户
  2. 图片远程保存,浏览器直接下载
  3. 第五讲 计算机体系结构 内存层次
  4. js实现元素水平垂直居中
  5. linux线程同步之互斥锁——linux的关键区域
  6. 2019年全国各地房价排名50强
  7. TensorFlow 2.0.0-RC0版发布,专注于简单性与易用性
  8. 计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours()介绍
  9. 着眼未来!2019未来杯高校AI挑战赛圆满落幕
  10. Matlab绘图详细总结