关于Jmeter性能测试工具不再过多介绍。如果你要学习软件性能测试,那么多少应该会对它有所耳闻。
强烈建议阅读官方文档学习:[url=http://jmeter.apache.org/index.html]http://jmeter.apache.org/index.html[/url]
还有比这个更权威更全面的介绍Jmeter工具使用的么?
不过,此处要介绍是用它来做接口测试。
[b]一、安装Jmeter [/b]
Jmeter官方首页:[url=http://jmeter.apache.org/]http://jmeter.apache.org/[/url]
关于Jmeter可以做什么,官方上也有非常详细的介绍。另外它的文档也写很详细。如果想学习Jmeter,那么它的文档将会是最好的教材。
我相信你可以在官网上找到下载地址并把它下载下来。
Jmeter由Java语言开发,最新的Jmeter3.0版本的运行需要有Java 7 或之后版本的环境。我同样相信你能搞定Java环境。
接下来,将下载的apache-jmeter-3.0.zip解压,进入解压目录…/apache-jmeter-3.0/bin 。双击ApacheJMeter.jar启动:
[img]http://files.jb51.net/file_images/article/201609/20169894639929.png?20168894653[/img]
[b]二、添加HTTP接口测试 [/b]
我们的所以工具都会在Jmeter工具中完成,接来就按照一般步骤来创建一个HTTP接口测试。
[img]http://files.jb51.net/file_images/article/201609/20169894715161.png?20168894732[/img]
如上图,右键点击“测试计划”–>“添加”–>“Threads(Users)”–>“线程组”。
[img]http://files.jb51.net/file_images/article/201609/20169894743734.png?20168894758[/img]
如上图,设置线程组,线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。
[b] 线程数:[/b]虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
[b] 准备时长[/b]: 设置的虚拟用户数全部启动的时长。如果线程数为20 ,准备时长为10(秒) ,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
[b] 循环次数:[/b]每个线程发送请求的个数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。
因为这里要做接口测试,所以各个参数为均1。
[img]http://files.jb51.net/file_images/article/201609/20169894828341.png?20168894846[/img]
如上图,右键点击“线程组”–>“添加”–>“Sampler”–>“HTTP请求”。
[img]http://files.jb51.net/file_images/article/201609/20169894905825.png?20168894919[/img]
[b]名称[/b]:本属性用于标识一个取样器,建议使用一个有意义的名称。
[b]注释[/b]:对于测试没有任何作用,仅用户记录用户可读的注释信息。
[b] 服务器名称或IP [/b]:HTTP请求发送的目标服务器名称或IP地址。
[b] 端口号[/b]:目标服务器的端口号,默认值为80 。
[b] 协议[/b]:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。
[b] 方法:[/b]发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
[b] Content encoding :[/b]内容的编码方式,默认值为iso8859
[b] 路径[/b]:目标URL路径(不包括服务器地址和端口)
[b] 自动重定向[/b]:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。
[b] Use keep Alive [/b]: 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
[b]Use multipart/from-data for HTTP POST [/b]:当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。
[b]同请求一起发送参数[/b] : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。
[img]http://files.jb51.net/file_images/article/201609/20169895024297.png?20168895040[/img]
如上图,右键点击“线程组”–>“添加”–>“监听器”–>“察看结果树”。
[img]http://files.jb51.net/file_images/article/201609/20169895056185.png?20168895113[/img]
[b]三、添加新的POST请求 [/b]
POST请求的添加方式与前面GET请求一样。不过POST请求需要设置参数。
[img]http://files.jb51.net/file_images/article/201609/20169895133874.png?20168895148[/img]
服务器名称或IP: 127.0.0.1
端口号:8000
方法:POST
路径:/polls/question_vote/
同请求一起发送参数:
点击“添加”按钮,添加POST请求的参数。
[b] 执行测试:[/b]
选择菜单栏“运行”–>“清除”,或者点击工具栏清除按钮。然后重新执行启动测试。并查看结果树。
[img]http://files.jb51.net/file_images/article/201609/20169895247245.png?20168895312[/img]
[b]四、添加断言 [/b]
对于自动化测试来说,断言必须要有的,如果没有断言我们只能人眼对比对接口返回的数据,有了断言功能,就会简化这个过程。Jmeter提供了丰富的断言方法来帮助我们完成这个工作。
[img]http://files.jb51.net/file_images/article/201609/20169895332998.png?20168895346[/img]
如上图,右键点击HTTP请求“添加”–>“断言”–>“响应断言”。
[img]http://files.jb51.net/file_images/article/201609/20169895404638.png?20168895434[/img]
要测试的响应字段:响应文本、Document(text)、URL样本、响应信息、Response Headers、Lgnore Staus等选项。虽然接口返回的是Json格式的数据,但对于Jmeter来说返回数据为文本,所以,这里可以勾选“响应文本”
模式匹配规则:包括、匹配、Equals、Substring。这里只需要验证返回数据中是否包含主要的关键字,所以,这里勾选“包括”。
要测试的模式:其实就是断言的数据。点击“添加”按钮,输入要断言的数据。
[b] 运行测试:[/b]
再次清除测试数据,点击启动测试,查看结果树,如下图。
[img]http://files.jb51.net/file_images/article/201609/20169895457674.png?20168895529[/img]
=====================
接口测试就是这么简单!
以上就是对Web Jmeter 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!