jmeter——简单测试流程

Posted icy88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter——简单测试流程相关的知识,希望对你有一定的参考价值。

今天通过一个简单的例子梳理一下用jmeter进行测试的流程

1.确定被测网站:gogomall.com

2.制定测试指标:响应时间和错误率

3.设计测试场景

4.具体测试步骤

技术图片

1>创建一个测试计划,测试计划里创建线程组,线程组中再创建取样器,一般是http请求,创建成功如下图:

技术图片

技术图片

下面来解释一下http请求的设置:

①名称:用于标识一个取样器,建议使用一个有意义的名称,自己能够区分

②注释:仅用于记录用户可读的注释信息,对测试无任何作用

③协议:向目标服务器发送http请求时的协议,可以是http或者是https,默认为http

④服务器名称或IP:http请求发送的目标服务器名称或IP地址

⑤端口号:目标服务器的端口号,默认值为80

⑥方法:发送http请求的方法,可用方法包括GET,POST,HEAD,PUT.......等

⑦路径:目标url路径,不包括服务器地址和端口

⑧内容编码:内容的编码方式

⑨自动重定向:如果选中,当发送http请求后得到的响应是302/301时,jmeter自动重定向到新的页面

⑩使用KeepAlive(持久常连接):如果选中,jmeter和目标服务器之间使用Keep-Alive方式进行HTTP通信,默认选中

?对POST使用multipart/form-data:当发送HTTP   POST请求时,使用multipart/from-data方法发送,默认不选中

?同请求一起发送参数:在请求中发送url参数,用户可以将url中所有参数设置在本表,表中的每一行是一个参数值对(对应url中的名称1=值1)

?同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟

?从html文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析并获取HTML中包含的所有资源,默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的【网址必须匹配】文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的url指向资源会被下载

?保存响应为MD5哈希:选中该项,在执行时仅记录服务端响应数据的MD5值,而不是记录完整的响应数据,在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销

2>测试场景设计—线程组设置

技术图片

 

①线程数:虚拟用户数

②Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动完

③循环次数:每个线程发送请求的次数,如果勾选了【永远】,那么所有线程会一直发送请求,一直到选择停止运行脚本

④调度器:可以更灵活的设置运行时间等

3>设置监听器

技术图片

4>运行脚本

技术图片

点击启动,开始执行测试

5>查看报告

技术图片

报告数据详解:

①Label:定义HTTP请求名称

②Samples:表示这次测试中一共发出了多少个请求,我设置的20个,循环10次,所以是200个

③Average:平均响应时长,默认情况下是单个请求的平均响应时长,当使用了事务控制器时,也可以以事务为单位显示平均响应时长

④Median:中位数,也就是50%的响应时长

⑤90%Line:90%用户的响应时长

⑥95%Line:95%用户的响应时长

⑦99%Line:99%用户的响应时长

⑧Min:访问页面的最小响应时长

⑨Max:访问页面的最大响应时长 

⑩Error%:错误请求的数量/请求的总数

?Throughput(吞吐量):默认情况下表示每秒完成的请求数,当使用了事务控制器时,也可以表示每秒处理的事务个数

?Received KB/sec:每秒从服务器端接收到的数据量

?Sent KB/sec:每秒向服务器端发送的数据量

注:jmeter中,时间单位都为毫秒

6>保存报告,注意,文件后缀为.jtl

技术图片

注:上面的例子中只有一个HTTP请求,所以监听器放线程组下或者HTTP请求下结果都是一样的,当请求多了之后,可以在每个请求下都添加一个监听器

以上是关于jmeter——简单测试流程的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter使用流程及简单分析监控(jmeter性能测试)

JMETER 生成测试报告

Jmeter接口测试示例

用Jmeter进行接口自动化测试工作流程

Jmeter怎么做接口测试/性能测试/压力测试(步骤)

Jmeter怎么做接口测试/性能测试/压力测试(步骤)