New 🌟
- 新增 `startapp` 子命令创建子项目工程模板: `python3 manage.py startapp autotest_deepin_xxx` ;[mikigo](https://github.com/mikigo)
- 新增指定用例重复执行次数;[mikigo](https://github.com/mikigo)
- 去掉批量执行前收集用例的步骤;[mikigo](https://github.com/mikigo)
- 增加开始执行时打印一些执行参数,如:
shell
用例收集数量: 99
失败重跑次数: 1
最大失败次数: 49
用例超时时间: 200.0s (03分20秒)
会话超时时间: 11880s (3小时18分0秒)
- 定制修改allure报告logo、title、默认语言;[mikigo](https://github.com/mikigo)
- `manage.py` 执行开始时打印 logo 和当前版本:[mikigo](https://github.com/mikigo)
shell
██╗ ██╗ ██████╗ ██╗ ██╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝ ██╔═══██╗ ██║ ██║ ██╔═══██╗ ██║ ██║
╚████╔╝ ██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║
╚██╔╝ ██║ ██║ ██║ ██║ ██║▄▄ ██║ ██║ ██║
██║ ╚██████╔╝ ╚██████╔╝ ╚██████╔╝ ╚██████╔╝
╚═╝ ╚═════╝ ╚═════╝ ╚══▀▀═╝ ╚═════╝
▄█ ▄█ █ █
█ ▄ █ ▄ ▀▀█
- 新增指定用例执行次数;[mikigo](https://github.com/mikigo)
- 装饰器方法指定次数;
python
pytest.mark.count(2)
def test_music_679537():
pass
- 命令行参数指定次数;
shell
python3 manage.py run -a deepin-music -k 001 --count 2
- image_utils 增加函数 save_temporary_picture,支持指定屏幕区域截图并返回图片存放的本地路径,后续使用 assert_image_exist 进行断言;[mikigo](https://github.com/mikigo)
- Python
def test_music_679537(self):
pic_path = DeepinMusicWidget.save_temporary_picture(x, y, width, height)
...... 中间操作
self.assert_image_exit(pic_path)
- button_center 新增 btn_size 获取控件左上角坐标及长宽,用于动态的截取元素的图片,可用于定位断言;[mikigo](https://github.com/mikigo)
- python
def test_music_679537(self):
pic_path = DeepinMusicWidget.save_temporary_picture(*DeepinMusicWidget().ui.btn_size("所有音乐按钮"))
...... 中间操作
self.assert_image_exit(pic_path)
- allure 报告中定位问题除了日志、截图、录屏外,调用的函数增加了 step 步骤展示;[mikigo](https://github.com/mikigo)
- `env.sh` 新增安装子项目 `Python` 三方依赖,在子项目根目录下写 `requirement.txt` 文件,`env.sh` 会自动加载;[mikigo](https://github.com/mikigo)
- ocr 识别新增支持传入目标图片路径进行文字识别,减少因全屏识别时,其他文字的干扰;[mikigo](https://github.com/mikigo)
- Python
断言音乐的删除弹窗中,包含了“确认”的文字
self.assert_ocr_exist("确认", picture_abspath=DeepinMusicWidget.save_temporary_picture(*DeepinMusicWidget().ui.btn_size("删除弹窗")))
- 断言函数的调用也会自动打印日志;[mikigo](https://github.com/mikigo)
- `env.sh` 新增裁剪依赖的方案;[mikigo](https://github.com/mikigo)
Fix 🐛
- 修复 `Jenkins` 环境下, `apps` 目录下子项目存在 `auotest_deepin_xxxtmp` 目录,在传入 `app_name` 后无法执行用例的问题;[mikigo](https://github.com/mikigo)
- 修复自动生成 `case_list.csv` 文件时,用例顺序被调整的问题;[mikigo](https://github.com/mikigo)
- `env.sh` 环境安装移除 git 和 curl;[mikigo](https://github.com/mikigo)
- 修复用例在 setup 阶段报错后,未写入 ci_result.json 的问题;[mikigo](https://github.com/mikigo)
- 移除 `uos_ci.py`;[mikigo](https://github.com/mikigo)