测试开发实战 | UI 调度自动化测试平台(基于 Python)

实战 | UI 调度自动化测试平台(基于 Python)

[霍格沃兹测试学院] 5月8日

测试开发之 UI 自动化测试平台最佳实践,进阶学习文末加群!

一、平台背景

用 Python 写 UI 测试用例也有三年时间了,之前都是将启动用例的入口放到 Jenkins 上调度来启动全部的测试用例,或者是分模块写 N 个 start.py 文件来调度测试用例。

在实际工作中,对实现自由调度的目标越来越迫不及待,比如:开发人员说,我只想跑某个单子,运行一下看看流程通不通。那么这个时候你需要再 jenkins 上建个构建显然就比较累。

所以,这个平台的首要任务就是可以让使用者自由调度,将用例自由组装成任务。

二、平台功能

1、首先按照项目分类测试用例

2、用例列表展示页面

可以多选用例,创建一个任务

3、任务列表

  • 执行任务:就会执行关联的测试用例;
  • UI 视频面板:可以看到所有的已执行的测试用例视频;
  • LIVE 视频:查看正在执行的 UI 测试用例;
  • 定时任务:顾名思义;

下图为已执行的测试用例视频,还可以在线查看正在执行中的视频:

4、定时任务页面

展示设置定时任务的任务,可以进行增删改查

5、执行结果

可以看到执行完成的 UI 测试报告

6、收件人配置

配置收件人的邮箱、或者钉钉、企业微信账号

7、Job

可以添加类似 .py 文件的路径,来执行。比如: python xxx.py 。执行结果里可以看到这个 job 打印出的文本信息。

三、技术栈

1、后端技术:Python + Django + REST_Framework
2、前端技术:Vue + ElementUI

有同学可能想了解下, 这样做会不会让本来就非常高昂 UI 自动化测试维护成本又额外增加了一个平台的维护成本呢

我的看法是:平台不存在维护成本的,用例是写脚本批量存进去得。每次新增用例后,执行下脚本就行了,用例的描述按照格式固定截取,而且这样一来,感觉把一潭死水的 UI 用例给救活了。

另外,我觉得整个平台搭建都只用到了最浅显的入门知识,最重要的可能是平台设计。这里分享出来抛砖引玉,如果大家有更好的意见,欢迎在评论区留言探讨。