EUI自动化测试框架
EUI
EUI是一个基于pytest和playwright的Web UI自动化测试框架。
特点
- 执行UI脚本录制,并且将录制的脚本转成yaml用例
- UI自动化脚本引用,编写用例时实现参数化编写
- 通过pytest+allure快速生成测试报告
准备工作
- 推荐python版本3.8以上,我用3.9.12版本,安装项目必需的模块:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple |
- 安装并配置好allure,安装PlayWright驱动文件和浏览器文件,默认安装的是谷歌:
platwright install |
- 自定义模块的导入处理:在 python安装目录\Python38\Lib\site-packages
下创建pwauto.pth,文件内容为当前项目的绝对路径。这步操作是为了让自定义模块能在当前项目中正常调用(sys.path.append(“项目路径”)也可以做到,不过比较麻烦,就不采用了)
使用说明
用例名以 test_ 开头,文件格式为yaml,测试用例存放在testcase目录下。编写用例只需在yaml文件中填写内容就行了,无需关注代码。执行用例只需运行run.py即可。
注意事项
pytest.ini在Linux系统下,必须使用UTF-8编码。在Windows系统下,必须使用gbk或gb2312编码。
目录结构
EUIAuto/ |
用例说明
playwright 官方文档:Playwright Docs
父关键字 | 关键字 | 描述 | 是否必填 | 备注 |
---|---|---|---|---|
无 | allure_config | allure配置,用于结果展示 | ✔️ | |
allure_config | feature | 用例模块 | ✔️ | |
allure_config | story | 用例页面 | ✔️ | |
allure_config | title | 用例标题 | ✔️ | |
allure_config | description | 用例描述 | ✔️ | |
allure_config | skip | 跳过该用例 | ❌️ | |
无 | fixture | 执行工具函数 | ❌️ | |
fixture | name | 方法中文名 | ❌️ | |
fixture | func | 方法名 | ❌️ | |
无 | case/validators | 用例 | ✔️ | |
case/validators | step | 操作步骤描述 | ✔️ | |
case/validators | method | pw操作 | ✔️ | |
case/validators | selector | 元素选择器 | ✔️ | |
case/validators | value | 输入值 | ❌️ | |
case/validators | refer | 引用用例 | ❌️ | 填写用例的文件名称 |
case/validators | time | 强制等待 | ❌️ | |
case/validators | arg | 元素操作的参数 | ❌️ | 多个参数通过;号分割 |
case/validators | nth | 多元素选择 | ❌️ | 0为第一个 |
case/validators | popup_name | 新窗口 | ❌️ | 新窗口操作使用popup_name.method |
case/validators | frame_name | 进入frame | ❌️ | 进入后操作使用frame_name.method |
case/validators | download_name | 下载文件 | ❌️ | 在点击触发下载事件下加上下载名 |
case/validators | fc_name | 上传文件 | ❌️ | 在点击触发上传事件下加上上传名 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 和而不同!
评论
ValineDisqus