接口自动化测试第一步
来源:互联网 发布:阿里云香港主机 编辑:程序博客网 时间:2024/05/22 05:54
考虑到新员工编程水平与接口文档规范程度,目前接口测试采用jmeter的方式实现。由于接口很多,目前尚只能实现部分手工活的替代,再慢慢做进一步的优化
分析接口
- 接口目前全部是HTTP协议
- 无参数,有查询字段
- 定义了多个响应码
根据接口定义编写数据库查询语句
查询字段值的获取
对应数据库字典,对各查询字段取值评估,设计测试用例。
预期结果的定义
各测试用例中,不同的查询字段取值得到的查询结果不一样
- 对于正常值,接口返回信息需要根据查询字段值到数据库中查找
- 对于非正常值的返回信息可以预估,并将预估结果放在数据库中
编写jmeter脚本
获取随机的查询字段值
jmeter中使用JDBC preProcessor,根据测试用例从数据库中查询可选值,将随机选取的值保存在jmeter变量中。
使用随机查询字段值发出请求
- jmeter中使用HTTP Request发出请求,并将对应的查询字段值替换为JDBC preProcessor中获取的值
- jmeter获取到接口值有判断作用的部分用正则提取出来,保存在jmeter变量中。
定义预期的接口返回结果并预先放在数据库中
- 如果是正常的测试用例,可以根据接口说明自定义SQL查询语句,使用上面得到的随机查询字段值访问数据库得到正确的返回值。
- 如果是非正常的测试用例,可以预先判断服务器的响应:响应码为400或500,返回值为[]、NULL、0、…
比较预期返回值与接口返回值
简单数值比较可以使用jmeter中的beanshell中的if函数实现;复杂结果集可以编写java程序,在beanshell中调用
如果返回非预期值,通过Failure和FailureMessage两个jmeter内置参数保存错误信息。集成到jenkins之后,该信息可以在报告中显示。
Failure=true ; FailureMessage ="Response is ${answer_api},but database returns ${answer_DB}" ;
集成到jenkins中
- jenkins中使用ant作为构建工具,实现以下操作:
- 在指定文件夹下查找jmx文件,并运行
- 将jmeter执行报告转换成html格式
- 将测试报告地址与测试结果保存到数据库中
- 借用jenkins邮件通知功能,报告测试结果
0 0
- 接口自动化测试第一步
- 【接口测试】接口自动化测试
- 接口自动化测试
- 接口自动化测试初探
- 接口自动化测试
- 接口自动化测试框架
- SoapUI接口自动化测试
- http接口自动化测试
- postman接口自动化测试
- 接口自动化测试框架
- 从接口测试接触JMeter第一步
- 【接口自动化测试】使用Fitness实现接口自动化测试
- ITF接口自动化测试框架
- ITF接口自动化测试框架
- 接口测试自动化生成框架
- 接口测试自动化生成框架
- 接口测试自动化生成框架
- 接口自动化测试框架设计
- 回顾2016,展望2017--一个软件工程师的年终总结
- UA-tester收集网络服务信息
- LeetCode 10. Regular Expression Matching
- 关于gradle同步项目慢的问题
- 爬取博客详细页面的标题(python3.5以上,async/await,aiohttp)
- 接口自动化测试第一步
- Navicat修改编码(SQL Error: 1366: Incorrect string value)
- 安卓文件存储
- 华为OJ-删除字符串中出现次数最少的字符
- SparseArray<E>详解 在一些情况下可以代替HashMap提高性能
- java中事件监听器
- Oracle PlSql 问题集锦 - 数字或值错误:字符串缓冲区太小【ORA-06502】
- "此实现不是 Windows 平台 FIPS 验证的加密算法的一部分"解决办法
- Android 性能优化之使用线程池处理异步任务