一、项目背景
因公司项目包含服务器(tomcat、redis、dubbox、zookeeper)和客户端(android/ios/macos/windows),在测试中会使用Java/C++/OC/多种语言进行开发,增加了测试人员的技术要求,也增加了公司的成本,需要一款使用单一语言支持测试用例开发的框架,但开源框架中没有找到能够支撑以上需求的测试框架,所以参照webdriver的模式开发了适应公司项目的基于微服务的分布式自动化测试平台。
二、测试方向
1、服务器端
1)功能测试
a)服务器单独模块插桩测试
能Mock被测模块的上下游依赖模块,控制数据输入和检查数据输出。
b)服务器模块间测试
Mock客户端协议用以驱动服务器运行,控制数据输入和检查数据输出。
2)性能测试
a)单独模块性能
复用功能测试模块插桩夹具,对单独模块加压。
b)整体性能
locust 或Jmeter
2、客户端
1)API功能测试
提供Platform cross运行能力。
2)UI功能测试
Appnium或ATX
3)性能测试
三、框架要求
1、测试执行可横向扩展
2、测试资源动态分配(测试资源主动注册)
3、客户端测试库有platform cross能力,测试用例不依赖于客户端
4、测试用例统一开发语言(Python)
5、接口测试覆盖率动态可控(Pair)
6、测试数据与测试用例分离
7、框架控制命令无平台依赖性(json)
8、支持服务器间,客户端与服务器间的协议测试(Rest/Websocket/etc..)
9、支持CI/CD
四、架构图
原文:https://www.cnblogs.com/gavinliu1982/p/10517210.html