Jmeter之登录接口参数化实战
为了纪念我走过的坑(为什么有些简单的问题就是绊住我了,还是不够细啊)
Jmeter之接口登录参数化实战
因为想要在登录时使用不同的数据进行测试,所以我选择了将数据进行参数化。因为涉及到新建一个接口的功能,所以在这里进行完整的记录
一、准备参数化所需要的文档(此文档可以为txt格式或者是csv格式的)
1、参数说明
文档中写入测试需要调用的数据,每行代表一组数据,有几个参数就写多少列,比如传入的参数是账号和密码,就是有两列。文档中的参数要用英文逗号分隔(此处划重点,否则传不进去哦,亲身试验)。
2、文档实例
这里面只有两组数据,实验使用的
二、新建一个登录接口的http请求
1、点击bin目录下的jmeter.bat,进入jmeter界面
这就不放图了吧
2、添加线程组,起名“参数化”
注意:如果是英文的jmeter可以通过“选项”->“选择语言”->Chinese更改;
3、设置全局变量
(1)在测试计划下面添加一个“HTTP请求默认值”
这个默认值定义了全局变量,会被后面的线程组引用,后面就不用重复填写了,当项目地址发生改变的时候,直接改这个就可以了,节省了很多时间。
填写相关信息:http写或者不写不重要,因为默认的就是。Ip、端口你懂得!
(2)添加“http cookie管理器”。
4、 右键“线程组”,添加一个“http请求”
在请求页面填写相应的信息
5、添加csv data set config
配置csv data set config(此图是盗用的,写的很详细)
Filename:制定的文档路径和名字;可以右击文档-属性,找到文档的路径,注意要写上文档名字和后缀;
File enconding:编码格式,如果txt文档中有中文,该行就要写入utf-8;
Variable Names:定义参数;txt文档中有几列就定义几个参数;参数见用英文逗号隔开;直接写id,在其他模块用的时候直接${id}调用即可;
Recycle on EOF:到了文件尾处,是否循环读取参数;
Stop thread on EOF:到了文件尾,是否停止线程;
若:想把文档中所有数据读取一遍,且不重复,那么就要设置为:
Recycle on EOF:False;
Stop thread on EOF:True;
6、添加断言
设置断言,断言也可以在文件中写出,再使用参数调用的方式执行
7、修改线程组配置
因为我们只写了一个http请求,所以点击运行只会运行一次,我们想把txt文档中所有行都执行一遍,所以我们要将线程数修改;目前txt中共多少行,所以线程组中线程数我们设置为多少行;
8、监听结果:添加“查看结果树”和“聚合报告”
查看结果树:可以看到每个请求的执行成功失败;
聚合报告:可以看出总共执行数和失败情况等;
9、点击运行,查看结果
点击绿色箭头运行,查看结果
(1)在“查看结果树”中,可以看到参数请求的是那个值:将变量id引用到名称后面,可以很好地对应结果和数据
(2)在“聚合报告”可以看所有线程有没有执行完成
10、重复执行http请求
(1)添加循环控制器:
右击http请求-插入上级-逻辑控制器-循环控制器;
(2)配置循环次数
(3)再次查看运行结果:一共执行了6次