参数化测试

Jmeter中的参数化测试主要包括两部分内容:利用生成或预制的的参数发起请求,以及从接口返回值中获取参数,后者获取参数后还可以交给下一步请求使用。

设置变量

User Defined Variables元件可以自定义参数常量,该配置可以赋予测试计划全局,也可以赋予线程组。

对于需要引用变量的位置,我们可以使用占位符${}的形式引用。

读取CSV文件作为参数

Jmeter提供了CSV Data Set Config元件,用于从CSV文件中加载测试数据。我们一般将这个组件放在测试计划的头部或是线程组的头部。

假设我们有如下CSV数据文件users.csv

100232
100233
100234

Jmeter中我们可以这样编写读取逻辑:

如上配置,我们生成了一个userId变量,如果有多个变量这里可以使用逗号分隔。此外其中有个Ignore first line配置,对于有表头的CSV文件可以打开这个配置,忽略掉文件的第一行。

此时,CSV中的每一行数据会被循环应用到每一次请求中,我们可以和设置普通变量一样,使用${}占位符引用。

从JSON返回中读取参数

Jmeter中的Post Processors包含了很多Extractor,我们可以在采样器的下一级创建这些后置处理器。它们可以用于从接口返回值中读取参数,常用的有JSON Extractor、XPath Extractor等。

以JSON Extractor为例,我们使用JSONPATH表达式从中提取数据就可以了,数据会以变量的形式传给下一个元件。

下面例子中,我们会在“查询用户信息接口”采样器执行完后从中提取值,作为变量由下面2个IF控制器进行判断。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap