Jmeter入门笔记

一、什么是Jmeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具,能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。

也就是可以对指定url进行大量访问的一个压力测试工具。

 

二、Jmeter的用法

1.从官网下载Jmeter压缩包并解压(apache-jmeter-5.3.zip):

   http://jmeter.apache.org/download_jmeter.cgi

 

 

2.解压完成后,找到jmeter.bat,双击启动(需要jdk1.8),路径样例如下:

   D:\apache-jmeter-5.3\bin\jmeter.bat

 

3.右击Test Plan,选择Add->Threads(Users)->Thread Group,添加一个线程组。

 

4.选中Thread Group,右侧的Number of Threads(users)可以设置线程数;Ramp-up period(seconds)可以设置多长时间启动所有线程;Loop Count表示循环执行线程多少次,选中infinite表示无限循环执行线程。

 

5.右击Thread Group,选择Add->Sampler->HTTP Request,添加一个Http请求

 

6.选中HTTP Request,右侧可以设置请求相关参数,Protocol可以设置请求协议(如图https),Server Name or IP可以设置服务器根路径,Port Number可以设置请求的端口,"GET"字样的下拉菜单可以设置请求方式(GET或POST等),Path可以设置服务器的子路径;

Follow Redirects选中后,发送这个请求时,如果页面被重定向,收到的响应会显示重定向后的内容;取消选中后,收到的响应则是重定向前的内容;

下方的Paramters可以填写键值对参数,Body Data可以填写json格式参数,需要注意这两个只能二选一,如果Paramters中有参数,则无法使用Body Data,反之同样。

如图,最后这个请求要访问的地址为(端口没有填,使用服务器默认端口):

【https://blog.csdn.net/BHSZZY】

 

7.右击Thread Group,选择Add->Listener->View Results Tree,添加一个响应结果树。

 

8.点击启动按钮(上方的绿色三角按钮),就会发送刚才写好的Http请求,就可以在View Results Tree中看到响应报文了。

可以在右侧Sample result、Request、Response data栏中查看请求与响应的详细信息。

 

9.可以将这个Jmeter测试用例保存,保存后的文件格式为jmx。

 

三、Jmeter的用法(续)

1.右击TestPlan,选择Add->Config Element,其中常用的选项有:

CSV Data Set Config,可以从csv文件中读取参数,在请求参数中使用;

HTTP Header Manager,可以设置请求的请求头(Content-Type等);

HTTP Cookie Manager,可以设置请求的cookie信息(jsessionid等);

HTTP Cache Manager,可以设置缓存来模拟浏览器缓存功能;

HTTP Request Defaults,可以设置请求默认格式,例如默认参数等。

这些配置可以作为测试计划的全局设置使用(TestPlan),也可以移动到某个线程组(Thread Group)使用。

 

2.csv文件可以用Excel打开与编写,也可以用txt查看,如图:

 

3.在Jmeter中创建CSV Data Set Config后,选中,然后在右侧填写配置内容,可参考下图:

Filename为csv文件的路径,图中jmx与csv同目录,因此为【./1.csv】;

File encoding为csv文件的编码格式,图中为【utf-8】;

Variable Names是给csv中每列起个名字,逗号分隔,图中为【id,name】;

Ignore first line为【true】,表示忽略csv的第一行(也可以为false)。

 

4.配置好CSV后,选中HTTP Request,在参数栏中可以使用${}的形式,使用csv中的参数发送请求,每发一次请求使用一行的参数,如下:

发送后的结果为(get形式):

 

5.如果要发送json格式的请求参数,则需要写在Body Data栏中,如下(先删除Parameters中的参数,才能选择Body Data标签):

发送后的结果为:

 

四、总结

由于工作需要,最近本人才开始接触Jmeter,目前也就是写点测试用例,对java后台接口进行些测试;

用到的相关知识也就是从csv中取参数进行压测而已,还没有用到更复杂的内容;

因此本文属于Jmeter入门笔记,还请大佬忽略

 

posted @ 2020-09-08 14:35  codeToSuccess  阅读(86)  评论(0编辑  收藏  举报