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

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

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

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

    1、正则表达式提取器

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

  • .:匹配任何字符串。

  • +:一次或多次。
  • ?:不要太贪婪,在找到第一个匹配项后停止。
  • 模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如: $1$表示解析到的第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进行规格选择与性能压测。
目录
相关文章
|
4月前
|
JavaScript 前端开发 测试技术
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
162 0
|
4月前
|
Web App开发 Java Linux
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
124 0
|
9月前
|
测试技术
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
QT --- VS2017+Qt5.12 编译报错【E2512 功能测试宏的参数必须是简单标识符 】的解决方法
256 0
|
2月前
|
Java 测试技术 Maven
单元测试添加运行参数的maven插件
单元测试添加运行参数的maven插件
20 0
|
2月前
|
存储 测试技术 Python
带有参数依赖的接口该如何测试?
带有参数依赖的接口该如何测试?
|
3月前
|
测试技术
软件测试/测试开发全日制|Pytest测试框架fixture作为参数使用
软件测试/测试开发全日制|Pytest测试框架fixture作为参数使用
25 0
|
4月前
|
SQL Java 数据库连接
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
【Java调试】通过SqlSessionFactory类对象获取mapper文件内的动态SQL在执行时的完整SQL及参数(2种使用方法+测试Demo及结果)
55 0
|
4月前
|
JavaScript 测试技术
Vue配置生产环境和测试环境的参数,.env.production、.env.development怎么用?
Vue配置生产环境和测试环境的参数,.env.production、.env.development怎么用?
|
4月前
|
Java 测试技术
在SpringBoot单元测试中添加参数
在SpringBoot单元测试中添加参数
47 0
|
6月前
|
测试技术 Python
软件测试|Python函数参数之必传参数、默认参数、可变参数、关键字参数的详细使用
软件测试|Python函数参数之必传参数、默认参数、可变参数、关键字参数的详细使用
58 0

热门文章

最新文章