jmeter(4)——简单测试流程
今天通过一个简单的例子梳理一下用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请求下结果都是一样的,当请求多了之后,可以在每个请求下都添加一个监听器