当前位置 博文首页 > 繁华似锦Fighting:『动善时』JMeter基础 — 23、JMeter中使用“
我们可以看到前面一篇文章的例子中,数据文件login_data.csv
的后三个参数都是一样的,我们可以把这些变量提取出来,放在一个公共的位置,方便我们随时提取。(凡是可以输入的位置,都可以使用参数化变量)
在JMeter中,有两个地方可以设置这种公共的变量:
之前我们介绍过,JMeter中常用的参数化方式有四种,
CSV Data Set Config
):这种方式是通常所指的参数化。数据存储在文件中,该种参数化方式取值范围大,灵活性强,适用于大量测试数据时的使用。User Parameter
):适用于参数取值范围很小,需要少量测试数据时使用。User Defined Variables
):更多用于设置全局变量,常用于数据库地址,测试环境、开发环境地址等常量配置。本文我们以在“测试计划”界面中设置“用户自定义变量”为例,演示批量实现用户的登陆操作。
添加元件操作步骤:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。CSV Data Set Config
组件:选中“线程组”右键 —> 添加 —> 配置元件 —> CSV 数据文件设置
。选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
先用Excel表格编辑所需的请求参数,内容如下:
我们需要把该文件保存为.csv
格式。
最后使用Notepad++
打开该文件,然后点击“编码” —> 转为UTF-8编码,防止中文乱码。
最终所得到的.csv
格式文件的内容如下:
在“测试计划”界面中,把公共的变量设置“用户自定义变量”中,如下图所示:
和在“HTTP请求”组件中添加数据的操作一样,这样在该测试计划中的所有组件都可以使用这些变量。
如果需要使用CSV文件中所有的数据,需要设置线程组元件的线程数或循环次数。
因为在CSV数据文件设置组件中,有Recycle on EOF
和Stop thread on EOF
选项的关系,所以设置线程数和循环次数都可以实现,使用数据文件中的每一组数据进行测试。
我一般常用操作,简单说明:
UTF-8
。\t
表示。在JMeter中使用参数化变量的格式:${变量名}
。
编辑登录接口内容,信息如下图所示:
我们可以看到${变量名}
中的变量名,是以CSV数据文件设置组件中变里名称中定义变量名为准。如果不在变里名称栏中定义任何内容,就以数据文件中的标题列名为变量名。
该测试脚本运行结果如下图所示:
说明:后三个参数
submit
、back_act
和act
,是从测试计划中设置的“用户自定义变量”所获取的。
以上就完成了在JMeter中通过“用户自定义变量”实现参数化的示例。