『动善时』JMeter基础 — 26、使用txt文件实现JMeter参数化
2021-05-29 09:40
99 查看
[toc]
之前我们都是使用
.csv格式的数据文件实现了JMeter的参数化,今天我们演示使用
.txt格式的数据文件实现JMeter的参数化。
需求:我们以一个登陆接口为例。
发送登录请求的时候,我们需要传递两个参数:
phone和
password。
针对这个登录接口设计5条用例,如下:
- 正常登录。
- 手机号未注册,即:手机号填写错误。
- 手机号不合法,即:手机号填写错误位数不对或为空。
- 手机号或密码错误,即:密码错误。
- 密码不合法,即:密码为空。
1、测试计划中的元件
添加元件操作步骤:
- 创建测试计划。
- 创建线程组:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。 - 在线程组中,添加配置元件"HTTP信息头管理器"组件:
选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP信息头管理器
。 - 在线程组中,添加配置元件
CSV Data Set Config
组件:选中“线程组”右键 —> 添加 —> 配置元件 —> CSV数据文件设置
。 - 在线程组中,添加取样器“HTTP请求”组件:
选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。 - 在线程组中,添加监听器“察看结果树”组件:查看结果,
选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。
最终测试计划中包含的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
2、数据文件内容
创建一个
.txt文件,名为
login_data.txt,然后根据需求编辑数据文件内容,这次我们不加列表明。
然后使用
Notepad++打开该文件,点击“编码” —> 转为UTF-8编码,防止中文乱码。
最终所得到的
.txt格式文件的内容如下:
3、线程组元件内容
如果需要使用
.txt文件中所有的数据,需要设置线程组的线程数或循环次数。
因为在CSV数据文件设置组件,有
Recycle on EOF和
Stop thread on EOF选项的关系,所以设置线程数和循环次数都可以实现,使用数据文件中的每一组数据进行测试。
如下图所示:
4、HTTP信息头管理器组件内容
因为我们要使用Post请求发送Json数据,所以需要在请求头中设置
Content-Type=application/json。
如果我们不在请求头中进行设置,默认请求头的
Content-Type值为
text/plain。(这在前面的Post请求文章中有详细的说明)
如下图所示:
5、CSV数据文件设置组件内容
如下图所示:
我一般常用操作,简单说明:
- 文件名:就直接浏览选择文件即可,也就是使用数据文件的绝对路径。
- 文件编码选择
UTF-8
。 - 变量名称:这里定义的就是参数化变量的引用名称,要与数据文件中的列相对应,中间用逗号分割。
- 忽略首行:选择False,因为这次我们没有添加列名。如果数据文件中首行写的是变量名称,选择忽略首行。
- 分隔符:如果
.txt
文件中的数据,使用的是逗号隔开,就是默认值。如果是制表符,就用\t
表示。 - 是否允许带引号?:如果变量值中有引号就选择True,没有则默认False即可。
- 其他一般默认选择。如果需求看上面说明中写的很详细,按工作中实际情况选择。
6、HTTP请求组件内容
在JMeter中使用参数化变量的格式:
${变量名}。
编辑登录接口内容,如下图所示:
我们可以看到
${变量名}中的引用变量名,是以CSV数据文件设置组件中变量名称中定义变量名为准。如果不在变量名称栏中定义任何内容,就以数据文件中的标题列名为引用变量名。
7、脚本运行结果
该测试脚本运行结果如下图所示:
我们可以看到,一共发送了5次请求,每次请求使用的参数值都是不同的,并且返回结果的预期也与我们设想的一样。
这样就演示了,使用
.txt文件作为数据文件,实现JMeter中的参数化。
相关文章推荐
- Jmeter使用嵌套循环实现读取2个文件的参数来进行组合参数化
- JMeter 压力测试使用函数和 CSV 文件参数化 json 数据
- Jmeter之使用CSV Data Set Config实现参数化登录
- JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比
- Jmeter之使用CSV Data Set Config实现参数化登录
- JMeter 压力测试使用函数和 CSV 文件参数化 json 数据
- C#控制台基础 file.readalltext使用相对路径与绝对路径去读取 与exe在同一目录下的txt文件
- JMeter 压力测试使用函数和 CSV 文件参数化 json 数据
- Java基础之IO流中使用FileWriter和FileReader实现拷贝文件
- Android Studio平台下使用hellochart实现从txt文件读取数据绘折线图
- 基础Java类使用类装载器实现装载配置文件
- JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比
- JMeter 压力测试使用函数和 CSV 文件参数化 json 数据
- PHP基础之在Dreamweaver下使用PHP实现文件上传
- [uEnv.txt]在uEnv.txt文件中使用if语句实现Image/dtb文件切换
- java 按顺序 列间用逗号隔开 逐行写入txt文件(使用反射、linkedHashMap实现有序输出)
- Jmeter 如何使用csv文件对请求接口进行参数化,完成接口测试
- Jmeter使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多次抽奖功能)
- Jmeter之使用CSV Data Set Config实现参数化登录
- IO流获取指定目录下所有txt文件的个数,并将这些txt文件复制到D盘test目录 用缓冲流实现. 注意: 需要判断test目录是否存在,如果不存在,使用代码创建