性能测试(16)——参数关联

简介: 当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。 JMeter可以通过“后置处 理器”中的一些组件来处理关联。常用的关联方法:正则表达式提取器XPath提取器JSON提取器

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。 JMeter可以通过“后置处 理器”中的一些组件来处理关联。
常用的关联方法:

  • 正则表达式提取器
  • XPath提取器
  • JSON提取器

1、正则表达式提取器

image.png
引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它
正则表达式 ():括起来的部分就是要提取的。

  • .:匹配任何字符串。
  • +:一次或多次。
  • ?:不要太贪婪,在找到第一个匹配项后停止。
  • 模板:用$2
    3title1$表示解析到的第1个值
  • 匹配数字:0代表随机取值,-1代表全部取值,1代表取第一个值
  • 缺省值:如果参数没有取得到值,那默认给一个值让它取。

2、Xpath提取器

Xpath常用方法详解:

  • 基础语法:
表达式 描述 举例
node_name 选取此节点的所有子节点。
/ 绝对路径匹配,从根节点选取。
// 相对路径匹配,从所有节点中查找当前选择的节点,包括子节点和后代节点,其第一个 / 表示根节点。 //li
. 选取当前节点。
.. 选取当前节点的父节点。
@ 选取属性值,通过属性值选取数据。常用元素属性有 @id 、@name、@type、@class、@tittle、@href。 //a[@class="参数"]

image.png

  • xpath通配符:
通配符 描述说明 举例
* 匹配任意元素节点 //li/*
@* 匹配任意属性节点 //li/@*
node() 匹配任意类型的节点 //li/node()
  • 多路径匹配

xpath表达式1 | xpath表达式2 | xpath表达式3

//ul/li[@class="book2"]/p[@class="price"]|//ul/li/@href
  • 进阶用法

1、contains(包含某内容)

contains通常配合text一起使用,//a[contains(text(), '关闭')]

image.png

2、starts-with(以某内容开头)

image.png

3、or(或)

image.png

4、and(与)

image.png

5、text(包含某文本)

contains通常配合text一起使用,//a[contains(text(), '关闭')]

image.png

6、ancestor(查找节点前)

首先查找到在ancestor声明之前的那个元素,然后将这个元素设为顶端节点,最后查找这个节点内所有符合规则的元素

image.png

7、following(查找节点后)

image.png

8、following-sibling(当前节点之后的所有同级节点)

image.png

9、preceding-sibling(当前节点之前的所有同级节点)

image.png
Xpath提取器:
image.png

3、JSON提取器

image.png

4、跨线程组参数关联

1、提取关联参数
image.png
2、函数助手生成需要关联的参数全局变量函数,属性名称为设置全局变量名称,value of properties为提取的参数名
image.png
3、使用BeanShell取样器设置全局参数
image.png
4、函数助手生成提取关联参数的函数
image.png
5、在HTTP请求中需要关联参数的地方粘贴此函数
image.png

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
打赏
0
0
0
0
81
分享
相关文章
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
2259 0
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
878 0
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
Hadoop-13-Hive 启动Hive 修改启动参数命令行启动测试 几句简单的HQL了解Hive
214 2
从Postman到Apipost:我的动态参数测试实战踩坑记
作为一名全栈开发工程师,在开发用户中心模块时,我遇到了复杂参数API测试的挑战。最初使用Postman时,发现其在生成动态参数(如邮箱、手机号和日期)时存在诸多问题,导致测试效率低下甚至出错。例如,随机生成的邮箱格式无效等 后来,CTO推荐了Apipost,它提供了更智能的参数生成方式:支持真实邮箱、符合规范的手机号以及合法日期范围,极大提升了测试效率和准确性。通过对比,Apipost在处理复杂动态参数方面明显优于Postman,减少了维护成本并提高了团队协作效率。现在,我们已全面切换到Apipost,并利用其「参数组合测试」功能发现了多个边界条件bug。
利用Postman和Apipost进行API测试的实践与优化-动态参数
在API测试中,Postman和Apipost是常用的工具。Postman内置变量功能有限,面对复杂场景时需编写JavaScript脚本,增加了维护成本。而Apipost提供丰富的内置变量、可视化动态值配置和低代码操作,支持生成真实随机数据,如邮箱、手机号等,显著提升测试效率和灵活性。对于复杂测试场景,Apipost是更好的选择,能有效降低开发与维护成本,提高测试工作的便捷性和可维护性。
OS-Copilot参数功能全面测试报告
作为一名运维工程师,我主要负责云资源的运维和管理。通过使用OS Copilot的-t/-f/管道功能,我顺利解决了环境快速搭建的问题,例如Tomcat的快速部署。具体步骤包括购买ECS服务器、配置安全组、远程登录并安装OS Copilot。使用-f参数成功安装并启动Tomcat,自动配置JDK,并通过|管道功能验证了生成内容的正确性。整个过程非常流畅,极大提升了工作效率。
113 12
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
419 1
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
523 0
|
11月前
|
[shell]在curl测试的data参数中引用变量
[shell]在curl测试的data参数中引用变量
412 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等