Jmeter是一个非常小巧,解压即可使用的免安装工具,使用Java开发,方便进行二次开发,慢慢的替代了loadrunner(光是安装就有1个多G,且需付费)。
在使用jmeter时不要关闭黑框,最小化就行,黑框中会写入jmeter的日志
Jmeter的主要思想:先构造用户,再让用户去请求对应的接口。
一个线程数相当于一个用户
添加方法:右键单击测试计划,选择添加->Threads(users)->线程组
添加方法:右键单击线程组,点击添加->sampler->HTTP请求
Sampler:取样器,用来模拟请求。选择HTTP请求,会显示配置接口的界面。
(1)复制接口完整路径,将信息分别填入HTTP请求配置里面。分别填写服务器IP、端口号、协议、方法、编码方式、路径(以/开头)
(2)Timeouts:超时时间,一般不设置,单位是ms
(3)请求信息,如果content-type是json形式,需要选择body data,Parameters是表单形式
(4)可以在路径栏填写完整的URL地址,上面的选项都不填,接口也可以调成功
添加方式:右键单击线程组,点击添加->监听器->察看结果树
(2) 看响应数据
响应数据中有“成功”2个字,说明接口请求成功
Jmeter默认传输请求信息的方式是表单类型,即Content-Type: application/x-www-form-urlencoded,如果接口的content-type要求json体,则需要修改。
修改方法:
(1)右键单击一个HTTP接口,选择添加->配置元件->HTTP信息头管理器,这个管理器属于这个接口。
(2)复制Content-Type: application/json,添加到HTTP信息头管理器中。
(3) 重新运行请求,发现content-type已经修改成功
(1)添加变量和用户,变量名随便取,此处假设需要同时注册3个账号
(2)参数化
参数化含义:将写死的东西变成变量
调用一个自带的自定义函数CSVREAD函数,用于读取CSV文件。CSV文件的特点是以逗号分隔,可以使用Excel打开。
提前新建一个CSV文件,最好将该文件放在bin目录下,在填写文件路径值可以只填写文件名。如果在其他路径,则需要使用绝对路径,可能会出问题。
(1) 新建一个Excel文件,将文件后缀名修改为.csv或者另存为csv文件
(2) 在文件里面写入数据,如下:
(1) 选项->函数助手对话框->函数助手,选择CSVRead函数
(2) 填入文件名和文件列号
(3) 点击生成
(4) 复制函数字符串
(1) 添加CSV data set config:右键单击线程组->添加->配置元件->CSV Data Set Config
(2) 填入文件名(filename)、编码方式(file encoding)、变量名(以逗号分隔)
(3) Allow quoted data:是否考虑引号,默认不考虑(false),如果数据中有”123,456”,如果不考虑引号,则会按照逗号分隔,如果考虑引号,则引号中的逗号不会被分隔,即123,456是一个整体。
CSV数据如下:
(4) Recycle on EOF:文件读取结束后是否循环,默认循环(true),比如只有100个用户信息,但需要200个人登录,如果true,则会循环取数据
(5) Stop thread on EOF:当取不到数据时是否停止,true代表停止,false代表不停止,但取不到数据,会导致这几个请求实际没有传参。如果(4)选择了循环,则这一项永远不会触发。
CSV数据如下:
(6) Sharing mode:分享模式,all threads——给所有线程使用,current thread group——给当前线程组使用,current thread——给当前线程使用。
(7) 请求信息参数化