前端时间,一口气连续出了12篇接口测试的课程,终于画上了句号,小编也如释重负。现在继续出接口自动化的系列,相信不少小伙伴也迫不及待的想学习jmeter了,话不多说,直接入正题。
自动化思维七步曲:
第一步:分析需求(任何测试都要先分析需求,没有需求的测试都是瞎扯淡)
第二步:写测试用例(自动化也得写测试用例,并且要比功能测试更详细)
第三步:创建测试计划
第四步:将测试用例用脚本实现
第五步:执行用例
第六步:检验测试结果
第七步:输出测试报告
一、分析接口需求
功能:获取城市天气预报
http请求方式:get
请求url:http://www.weather.com.cn/weather/citycode.shtml
请求参数
参数名称:citycode
参数格式:101020100(上海)
101010100(北京)
101280601(深圳)
二、添加线程组
2.1点测试计划右键添加-Threads-线程组
2.2线程组界面(这个界面主要是用于性能测试用,这里主要讲接口自动化,就不多讲了)
三、添加一个http请求sample
新建后,默认显示HTTP请求,这里可以直接改成:获取上海天气
四、填入接口参数(先测试上海地区的天气)
只需要如上图五个地方填写参数就OK了,回到最前面接口需求,
之前讲过接口系列,对接口测试熟悉的,这里很容易分析出
-
服务器名称为:www.weather.com.cn
-
协议类型:http
-
请求方式:get
-
请求路径:/weather/citycode.shtml
-
citycode:101020100(上海)
把这五个地方按号入座就行了
五、查看请求结果:添加结果树和聚合报告
六、执行用例
-
点执行按钮
-
点左侧查看结果树
-
点中间测试case
-
点右侧响应数据,查看服务端返回结果
-
响应数据有内容,说明请求成功,服务器正常返回
七、添加断言
测试结果有了,下一步要去检测测试结果是不是符合预期,这时候就需要添加断言
在刚才测试结果里面copy一段关键字,检测测试结果是不是符合预期
八、查看聚合报告
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
-----------------------------
到这里一条完整的测试用例就已经完成了,怎么样是不是so easy!
九、如何能一次请求多个城市的天气?
刚才需求里citycode可以是不同的测试,可是刚才的用例只能请求到上海的天气预报,那么如何一次请求,就遍历所有城市的天气呢?
这个时候就需要引入一个概念:参数化
下节课会详细讲参数化概念。。。