接口自动化测试之设计Jmeter脚本
最近在做接口测试,因为公司有使用jmeter做接口测试的相关培训资料,所以还是先选择使用jmeter来批量管理接口,进行自动化测试。话不多说,进入正题:1.使用csv文件保存接口测试用例,方便后期对接口进行维护(先新建txt文件,然后文件扩展名改为.csv,不要新建xls再改为csv,不然会出现读取不到文件的情况)。
注意:这里并没有在接口层面进行业务逻辑验证,只是单纯地验证每个接口的各种可能情况(根据参数值不同设计用例),确保单个接口的有效性。http://www.51testing.com/attachments/2021/01/15326880_202101191519221KcZq.png
2.写好测试用例后,设计jmeter脚本
①新建一个线程组,并在线程组下添加HTTP请求默认值和监听器。
HTTP请求默认值中填写服务器的ip和端口号。
http://www.51testing.com/attachments/2021/01/15326880_202101191519371CBFa.png
②在线程组下添加一个循环控制器,循环次数设置为永远(对测试用例进行遍历)。
http://www.51testing.com/attachments/2021/01/15326880_202101191519501G4mB.png
③循环控制器下添加CSVDataSetConFig控件(读取csv文件中的数据)。
http://www.51testing.com/attachments/2021/01/15326880_202101191520031Xp7T.png
http://www.51testing.com/attachments/2021/01/15326880_202101191520171h32a.png
④循环控制器下添加“如果(If)控制器”,对用例优先级的进行筛选。
注意:条件那里的写法"${priority}"=="H",priority即为csv文件中定义的用例优先级那一列。
http://www.51testing.com/attachments/2021/01/15326880_202101191520311dNW2.png
⑤根据优先级判断用例是否执行后,在第四步的“如果(If)控制器”下再添加2个“如果(If)控制器”,用以区分执行POST请求和GET请求。
http://www.51testing.com/attachments/2021/01/15326880_202101191520461OYJF.png
⑥POST请求的配置。
在POST请求的“如果(If)控制器”下添加一个HTTP请求。
http://www.51testing.com/attachments/2021/01/15326880_202101191521051wF0I.png
⑦GET请求的配置。
在GET请求的“如果(If)控制器”下添加一个HTTP请求。
http://www.51testing.com/attachments/2021/01/15326880_202101191521251M4Fp.png
⑧在post请求和get请求下分别配置响应断言。
http://www.51testing.com/attachments/2021/01/15326880_202101191521451xOHi.png
脚本到这里就设计完成了,接下来就可以执行测试了。
http://www.51testing.com/attachments/2021/01/15326880_202101191522031yOvx.png
在这次接口测试过程中花费时间较多的是测试用例的编写,因为在编写每一条用例时都要调一下接口,查看返回值是什么,如何传参等等,大概有270多条接口,有些错误是由于数据库缺表少字段导致、也有些是由于传参不正确导致的异常;如果对接口的参数更了解,知道它们是如何对应到数据库表的字段时,会更为顺利,甚至能够在数据库构造需要的数据。
页:
[1]