需求背景
一、 系统目标与功能概述
脚本管理: 系统需要能够组织和存储所有通过playwright官方插件录制的脚本。这包括脚本的上传、编辑、删除和版本控制功能。
脚本执行: 用户应该能够在后台界面上查看所有可用的脚本,并能够通过简单的点击操作来启动特定脚本的执行。
实时监控与日志: 系统应提供实时监控脚本执行状态的功能,并在执行完成后提供详细的日志记录,以便于问题排查和性能分析。
权限控制: 后台系统需要实现用户权限管理,确保只有授权的用户才能访问、修改或执行脚本。
结果反馈: 执行完脚本后,系统应自动收集测试结果,并将结果反馈给用户,包括成功、失败的状态以及可能的截图或视频记录。
二、 技术选型与架构设计
前端界面: 使用vue.js来构建交互式的后台管理界面。
后端服务: 采用python Django搭建api服务,处理脚本的上传、下载、执行等请求。
数据库: 使用mysql数据库来存储脚本信息、用户数据和执行日志。
消息队列: 引入消息队列服务来处理异步任务,如脚本执行、日志收集等。
实际结果:
脚本管理
执行过程
测试报告
技术难点:
后端:
# 难点:
# 1. 对于pytest源码的改造,改造成自己想要的羊奶子
# 2. 对于结果轮询的方式
# pytest.ini配置文件
[pytest]
addopts = --browser {browser}
--headed
--slowmo 500
--title={title} # 测试报告名称
--tester={username} # 执行人
--tracing on
--video on
--screenshot on
--full-page-screenshot
--template=2
--report ./xxx/media/playwright/{result_id}/{result_id}.html # 测试报告地址
--output ./xxx/media/playwright/{result_id} # pytest每个函数的结果