一、平台背景

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

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

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

二、平台功能

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




python自动化控制设备 pythonui自动化_UI


2、用例列表展示页面

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


python自动化控制设备 pythonui自动化_python自动化控制设备_02


3、任务列表

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

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


python自动化控制设备 pythonui自动化_测试用例_03


python自动化控制设备 pythonui自动化_python自动化控制设备_04


4、定时任务页面

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

5、执行结果

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

6、收件人配置

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

7、Job

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

三、技术栈

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

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

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

另外,我觉得整个平台搭建都只用到了最浅显的入门知识,最重要的可能是平台设计。