前言
接口自动化逐渐成为各大公司投入产出最高的测试技术。但是如何在版本迅速迭代过程中提高接口自动化的测试效率,仍然是大部分公司需要解决的问题。
框架定位
- 数据驱动设计模式,无需写测试代码脚本即可实现自动化
- 等价类非等价类覆盖, E2E(接口流程性测试) Case覆盖
- 使用Excel的方式进行自动化用例编写,简单,易用,高效。
框架架构图
![fc503a73c68bafaecdd21bc06d8c9f97.png](https://i-blog.csdnimg.cn/blog_migrate/5adee18e18f69462db9acfe6ac695778.jpeg)
框架介绍
![cae82d176c6f7accc2dcfb6b61b78282.png](https://i-blog.csdnimg.cn/blog_migrate/7e63302971a24422ad05fe02f2ee329d.jpeg)
![aa1618d074afb89a6a6a6a966e50a3c0.png](https://i-blog.csdnimg.cn/blog_migrate/24f245ebf21192e20a62f08b5985fd79.jpeg)
![a2cdce679214dbb9dd10ae7f9e88429f.png](https://i-blog.csdnimg.cn/blog_migrate/910239d8c2f9619b4d3c0b2737c0d3a7.jpeg)
技术栈
Jenkins + Svn + Maven+TestNG+ReportNG+(HttpClien+URLConnection)
Case展示
1,单个接口Case
![ee49eb1c13d4f3cfc8b1b02a755443ac.png](https://i-blog.csdnimg.cn/blog_migrate/16d83d21440ceba9bed6bb5430e5bf46.jpeg)
Json response 解析用的是 JsonPath 解析方式,检查点以“,”隔开
2.,E2E流程性自动化Case
![8469cac229b46fed9d41bc57f88d800c.png](https://i-blog.csdnimg.cn/blog_migrate/c34e3ff2759fefab7432ac778d1703e9.jpeg)
其中可以取上面的Step 的response 内的参数作为下面步骤的入参或者检查预期值。
执行展示
先配置用例脚本模板:
![61d97095de31ea29e2265ffcc63e6b51.png](https://i-blog.csdnimg.cn/blog_migrate/ff7145554e277ba59e88fdd36951ac0e.jpeg)
配置好全局环境配置:
![9863496d08a7f9dc4757841d6d146869.png](https://i-blog.csdnimg.cn/blog_migrate/7b5dd9cc1985e730352e00c303683870.jpeg)
Jenkins配置任务并执行,得到自动化测试报告
邮件报告:
![d0b566293e738deb26fa99a98c710dab.png](https://i-blog.csdnimg.cn/blog_migrate/29239c1255a5dba9c08a0f92ae733b9b.jpeg)
测试报告:
- 任务概述
- 步骤过程打印:
接口与接口之间可以按规定的参数进行 取值与赋值,单独由数据中心去控制遍历的接口是否需要进行数据转换!~
这样可以把一些简单的API业务流串起来持续集成,方便快速迭代~!
框架优势:
1 编写Case效率
- 易编写,在Excel内编写负责 粘贴非常简单方便,全局替换也非常方便。
- 易维护,无需每个人写代码脚本,在用例模板内可维护性高很多。
- 易交接,自动化模板基本都能看懂,思路一目了然。
2 执行效率
![3a033bec6cbf44467a2051640206210f.png](https://i-blog.csdnimg.cn/blog_migrate/13d975d4e2174ae28c181fcb78f3bddc.jpeg)
3,支持接口之间参数定义(需使用定义参数)
![6e90ec1407cfd37c99aa0c186f896c07.png](https://i-blog.csdnimg.cn/blog_migrate/a0b5e7520b13b70a40394043c2e5985e.jpeg)
4,HTTPCode检查非正常外的状态均会报错!
(只有错误的地址才会出现在测试报告里面)
- 报告详情示例:
![82de30ff65524742db27d9392ef7aaa4.png](https://i-blog.csdnimg.cn/blog_migrate/52642832a5e18bed8b8b3c01b8c53562.jpeg)
5,响应超时预警邮件触发:
- 单个接口响应超过5秒自动触发代码发送邮件给指定人
![a418f99d191b461d395819519cd7214d.png](https://i-blog.csdnimg.cn/blog_migrate/581b3bb1ba47493cbf7c903e458c7860.jpeg)
6全局参数变量
- 指定参数 TTPod_Rondom(20) 在执行过程中代码会自动替换成 一个范围在0~20以内的随机数
![7f3ee9d0ab0bb8f9bf6ae490ef63f5e1.png](https://i-blog.csdnimg.cn/blog_migrate/63437920290c16cb07911445f3bc4cd3.jpeg)
7 框架轻便灵活,无缝对接 持续集成,持续交付
与TestNG +Maven+Jenkins 搭建持续集成链路,非常简单。