安装Jmeter的过程自行百度,这里不再赘述,但是记得修改jmeter安装路径bin文件夹下的jmeter.bat文件,找到以下文字:
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms1g –Xmx1g -XX:MaxMetaspaceSize=256m
)
将其修改为:set HEAP=-Xms1g –Xmx2g -XX:MaxMetaspaceSize=512m 或set HEAP=-Xms1024m –Xmx1024m -XX:MaxMetaspaceSize=512m 该修改目的是为了防止内存溢出,视情况而定。 修改后启动Jmeter,进行以下配置进行压力测试。
一、新建测试计划(Test Plan)
Jmeter启动后会显示Test Plan,也就是测试计划,可以根据自己的测试计划名进行修改,中文英文都可以,我这里命名为reportartist,如下图:
二、新增线程组(Threads Group)
- Number of Threads(users):线程数量,即为用户数或请求数量
- Ramp-up period(seconds):启动时间/准备时长,以秒为单位
- Loop Count:循环次数
右击测试计划(reportartist)——Add——Threads(Users)——Threads Group,命名为API Test,
三、添加Http请求(Http Request)
右击线程组(API Test)——Add——Sampler——Http Request,命名为Login API
四、添加Http信息头管理器(HTTP Header Manager)
由于我的是post请求,请求头是json格式,所以需要添加Http信息头管理器(HTTP Header Manager)并设置以下参数:
五、添加CSV数据文件设置(CSV Data Set Config)
该元件是从文件中读取变量值,用于变量的参数化,可设置多种读取方式。 我这里就是username,password两个参数需要批量传参,所以新建一个文本文档: 这里的逗号是英文格式 将文本文档格式改成csv: 上传刚才创建并编辑过的文档,填写参数,其他项根据我的截图更改
六、添加响应断言(Response Assertion)
我测试时只需要判断返回状态码是否为200即可,只要不是200就提示test error,设置如下:
七、添加响应断言结果(Assertion Results)
如果500个请求中有状态码返回不为200的即在响应断言结果中显示test error,为200则显示接口请求名称
八、添加察看结果树(View Results Tree)
添加察看结果树点击执行就能查看请求状态和返回结果状态(绿色则代表返回正常): 返回结果有中文的可能显示乱码,需要更改Jmeter的配置文件,找到sampleresult.default.encoding处去掉注释符#并将默认ISO-8859-1更改为utf-8:
九、利用命令执行压力测试
由于Jmeter启动时,会显示两个窗口,一个是cmd窗口,一个是GUI窗口,cmd窗口如下提示: 中文翻译就是: 所以进入Jmeter安装路径的bin目录下输入cmd执行以下格式命令:
jmeter -n -t <测试计划的文件路径> -l <测试结果文件的保存路径> -e -o <测试结果的web报告保存路径>
在任意文件夹新建result.txt用于存放请求的结果,新建一个空目录webreport用于存放压力测试的报告 出现…end of run代表成功生成报告 点击webreport文件夹下的index.html即可查看压力测试报告 注意:每次执行压力测试的命令时都要保持result.txt文件和webreport文件夹为空
|