首页 > 其他分享 >Jmeter接口自动化测试 —— Jmeter变量的使用

Jmeter接口自动化测试 —— Jmeter变量的使用

时间:2023-11-30 16:15:03浏览次数:37  
标签:itemId cnblogs title 接口 自动化 Jmeter com 变量

​在使用jmeter进行接口测试时,我们难免会遇到需要从上下文中获取测试数据的情况,这个时候就需要引入变量了。

定义变量

  • 添加->配置元件->用户自定义的变量
  • 添加->配置元件->CSV 数据文件设置

变量的调用方式:${变量名}
变量的作用范围:变量可以写入任何测试组件的任何字段中(除了TestPlan)
以博客园的接口为例:

Url: https://recomm.cnblogs.com/api/v2/recomm/blogpost/reco

HTTP Method: Post

Request:
{"itemId":11343866,"itemTitle":"Jmeter 01 Jmeter下载安装及入门"}

Response:
[{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"},{"itemId":"4709031","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/s380774061/p/4709031.html"},{"itemId":"9413237","title":"Jmeter下载安装配置及使用(windows)","content":null,"url":"https://www.cnblogs.com/fanbi/p/9413237.html"},{"itemId":"5639895","title":"Jmeter使用入门","content":null,"url":"http://www.cnblogs.com/ceshisanren/p/5639895.html"},{"itemId":"7094047","title":"JMeter入门","content":null,"url":"http://www.cnblogs.com/iceb/p/7094047.html"}]

从上下文中获取变量

例如上面的接口,我们想要再请求一次,而request需要从上一次的响应数据中获得,比如我们需要第一次请求的response中的itemId和title作为下一次请求的request

{"itemId":"8971531","title":"使用JMeter进行压力测试","content":null,"url":"https://www.cnblogs.com/stulzq/p/8971531.html"}

那么就需要用到一个配置元件JSON提取器
右键http请求->添加->后置处理器->json提取器

JSON提取器参数说明:

参数说明
Apply to  
Main sample and sub-samples 主sample及子sample
Main sample only 主sample
Sub-samples only 子sample
JMeter Variable Name to use 变量名
JSON Path Expression json表达式(想要获取的值在响应数据中的什么位置)
Match No.(0 or Random) 匹配第几个,不填写是获取符合条件的第一个,0为随机、N为第N个、-1为获取所有
Compute comcatemation var(suffix_ALL) 如果找到了很多结果,插件将使用','分隔符连接它们,并将其存储在一个名为<变量名>_ALL的变量中
Default Values 当没有获取到参数值时的默认值

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:320231853,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

标签:itemId,cnblogs,title,接口,自动化,Jmeter,com,变量
From: https://www.cnblogs.com/NHB6870/p/17867607.html

相关文章

  • Jmeter接口自动化测试 —— Jmeter断言之Json断言
     json断言可以让我们很快的定位到响应数据中的某一字段,当然前提是响应数据是json格式的,所以如果响应数据为json格式的话,使用json断言还是相当方便的。还是以之前的接口举例Url:https://data.cma.cn/weatherGis/web/weather/weatherFcst/getCurrentConditionHTTPMethod:Po......
  • 防止接口重复调用方法
    1、使用数据库唯一索引:为需要防重复的字段添加唯一索引,再尝试插入,如果重复会报错。2、使用线程本地变量利用ThreadLocal存储是否调用过的标识变量。privatestaticfinalThreadLocal<Bolean>CALLED=newThreadLocal<>();if(CALLED.get()!=null){//已调用}else......
  • jmeter 分布式压测出现 :java.io.FileNotFoundException: rmi_keystore.jks (系统找不
    分布式执行压测时报错:Exceptioncreatingconnectionto:10.22.133.117;nestedexceptionis:java.io.FileNotFoundException:rmi_keystore.jks(系统找不到指定的文件。)解决方案:(执行机和被执行机器的jmeter版本要一致)1、修改jmeter.properties文件(jmeter的安装bin路......
  • Instagram营销的营销自动化工具推荐
    提升Instagram营销效率的自动化工具推荐 导语:如今,Instagram已成为企业推广和品牌建设的重要平台之一。然而,有效地管理和推广Instagram账号却需要耗费大量的时间和精力。为了提高营销效率,许多企业开始寻找自动化工具来简化日常任务。在本文中,我们将推荐几款优秀的Instagram营销......
  • 如何使用Selenuim浏览器自动化框架实现自动登录社交媒体账号和自动发布文章
    在当今社交媒体盛行的时代,程序员们经常需要在不同的平台上自动执行一些任务,比如登录社交媒体账号并发布文章。本文将介绍如何利用Selenium浏览器自动化框架实现这一任务,同时结合万媒易发多平台内容同步助手,提高文章发布的效率。技术栈为了实现自动登录社交媒体账号和自动发布文......
  • 零代码集成自动化的实现逻辑是什么?
    零代码的概念是什么?零代码平台是一种软件开发工具或平台,非技术人员能够创建和部署应用程序,而无需编写任何代码。它提供了可视化的界面和拖拽式的操作,使用户能够通过简单的配置和组合,以图形化的方式构建应用程序。这种平台通常包含了丰富的预定义组件、模板和工具,用户可以根据自己......
  • go数据类型-空结构体、空接口、nil
    空结构体funcmain(){ a:=struct{}{} fmt.Println(unsafe.Sizeof(a)) fmt.Printf("%p\n",&a)}打印00x117f4e0有经验的开发人员都知道,所有的空结构体是指向一个zerobase的地址,而且大小为0一般用来作结合map作为set或者在channel中传递信号。t......
  • Java集合框架主要接口及实现类详解
    Java集合框架是Java编程语言提供的一组接口,用于处理对象集合。Java集合框架中包括了一系列的接口、实现类和算法,可以方便地操作和管理各种类型的集合数据。Java集合框架主要包括以下接口:Collection接口:是所有集合接口的根接口,提供了基本的集合操作,如添加、删除、遍历等操作。L......
  • yanmay Centos7上安装jmeter
    下载:https://archive.apache.org/dist/jmeter/binaries/插件下载:https://jmeter-plugins.org/来源:https://www.cnblogs.com/mayyan/p/16054439.htmlJmeter需要java环境一、在Linux服务器先安装jdk:1、以jdk-8u172-linux-x64.tar.gz为例:下载地址:http://www.oracle.com/techne......
  • 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台 (上)
    来源:https://developer.aliyun.com/article/907041本文涉及的产品可观测可视化Grafana版,10个用户账号1个月 立即试用 简介: 全网最详细!Centos7.X搭建Grafana+Jmeter+Influxdb性能实时监控平台(上)背景日常工作中,经常会用到Jmeter......