需求分析:服务平台每次上线都需要进行回归测试,需要测试的模块多,业务稳定,重复劳动多。非常符合实现自动化测试。
实现目标:用自动化的方式去模拟测试人员的操作(实现UI自动化), 在每周服务平台上线前执行,并将测试结果生成测试报告,以邮件的形式发给相关人员。
如何实现:
1. 框架选择:Robotframework +selenium +git+jenkins
2. 语言选择:python,接近自然语言,入门容易,功能强大。
3. UI自动化架构图如下:
4.如何实现上线前自动执行测试并自动发送测试报告
jenkins + gitlab
5. 整体架构
6.优化方向
串行执行改并发执行:同一时刻只启动一个进程去启动一个浏览器进行测试,执行时间长,资源利用率低
支持多种浏览器并发执行,目前只支持chrome浏览器
使用了大量的sleep,也是导致运行时间长的原因。改用selenium的显示等待。
使用无界面浏览器,phantomjs,headless