当前位置 博文首页 > 繁华似锦Fighting:『动善时』JMeter基础 — 26、使用txt文件实
之前我们都是使用.csv
格式的数据文件实现了JMeter的参数化,今天我们演示使用.txt
格式的数据文件实现JMeter的参数化。
需求:我们以一个登陆接口为例。
发送登录请求的时候,我们需要传递两个参数:phone
和password
。
针对这个登录接口设计5条用例,如下:
添加元件操作步骤:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。选中“线程组”右键 —> 添加 —> 配置元件 —> HTTP信息头管理器
。CSV Data Set Config
组件:选中“线程组”右键 —> 添加 —> 配置元件 —> CSV数据文件设置
。选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。最终测试计划中包含的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
创建一个.txt
文件,名为login_data.txt
,然后根据需求编辑数据文件内容,这次我们不加列表明。
然后使用Notepad++
打开该文件,点击“编码” —> 转为UTF-8编码,防止中文乱码。
最终所得到的.txt
格式文件的内容如下:
如果需要使用.txt
文件中所有的数据,需要设置线程组的线程数或循环次数。
因为在CSV数据文件设置组件,有Recycle on EOF
和Stop thread on EOF
选项的关系,所以设置线程数和循环次数都可以实现,使用数据文件中的每一组数据进行测试。
如下图所示:
因为我们要使用Post请求发送Json数据,所以需要在请求头中设置Content-Type=application/json
。
如果我们不在请求头中进行设置,默认请求头的Content-Type
值为text/plain
。(这在前面的Post请求文章中有详细的说明)
如下图所示:
如下图所示:
我一般常用操作,简单说明:
UTF-8
。.txt
文件中的数据,使用的是逗号隔开,就是默认值。如果是制表符,就用\t
表示。在JMeter中使用参数化变量的格式:${变量名}
。
编辑登录接口内容,如下图所示:
我们可以看到${变量名}
中的引用变量名,是以CSV数据文件设置组件中变量名称中定义变量名为准。如果不在变量名称栏中定义任何内容,就以数据文件中的标题列名为引用变量名。
该测试脚本运行结果如下图所示:
我们可以看到,一共发送了5次请求,每次请求使用的参数值都是不同的,并且返回结果的预期也与我们设想的一样。
这样就演示了,使用.txt
文件作为数据文件,实现JMeter中的参数化。