<p align="center">
<a href="https://linuxdeepin.github.io/deepin-autotest-framework/">
<img src="./docs/logo.png" width="520" alt="YouQu">
</a>
</p>
<p align="center">
<em>有趣,一个使用简单且功能强大的自动化测试基础框架。</em>
</p>
[![GitHub issues](https://img.shields.io/github/issues/linuxdeepin/deepin-autotest-framework?color=%23F79431)](https://github.com/linuxdeepin/deepin-autotest-framework/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/linuxdeepin/deepin-autotest-framework?color=%23F79431)](https://github.com/linuxdeepin/deepin-autotest-framework/pulls)
[![GitHub Discussions](https://img.shields.io/github/discussions/linuxdeepin/deepin-autotest-framework?color=%23F79431)](https://github.com/linuxdeepin/deepin-autotest-framework/discussions)
[![PyPI](https://img.shields.io/pypi/v/youqu?style=flat&logo=github&link=https%3A%2F%2Fpypi.org%2Fproject%2Fyouqu%2F&color=%23F79431)](https://pypi.org/project/youqu/)
![PyPI - License](https://img.shields.io/pypi/l/youqu?color=%23F79431)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/youqu?color=%23F79431)
![Static Badge](https://img.shields.io/badge/UOS%2FDeepin/Ubuntu/Debian-Platform?style=flat&label=OS&color=%23F79431)
![Static Badge](https://img.shields.io/badge/Linux-Platform?style=flat&label=Platform&color=%23F79431)
![Built with Material for MkDocs](https://img.shields.io/badge/Material_for_MkDocs-526CFE?style=flat&logo=MaterialForMkDocs&logoColor=white&color=%23F79431)
[![Downloads](https://static.pepy.tech/badge/youqu/week)](https://pepy.tech/project/youqu)
[![Downloads](https://static.pepy.tech/badge/youqu/month)](https://pepy.tech/project/youqu)
[![Downloads](https://static.pepy.tech/badge/youqu)](https://pepy.tech/project/youqu)
[![Hits](https://hits.sh/github.com/linuxdeepin/deepin-autotest-framework.svg?style=flat&label=Github_Hits&color=blue)](https://github.com/linuxdeepin/deepin-autotest-framework)
[![Hits](https://hits.sh/linuxdeepin.github.io/deepin-autotest-framework.svg?style=flat&label=YouQu_Hits&color=blue)](https://linuxdeepin.github.io/deepin-autotest-framework)
[![Hits](https://hits.sh/youqu.uniontech.com.svg?style=flat&label=YouQu内网_Hits&color=blue)](http://youqu.uniontech.com/)
[![Hits](https://hits.sh/pypi.org/project/youqu.svg?style=flat&label=PyPI_Hits&color=blue)](https://pypi.org/project/youqu/)
---
**文档**: <a href="https://linuxdeepin.github.io/deepin-autotest-framework" target="_blank">https://linuxdeepin.github.io/deepin-autotest-framework</a>
**源码**: <a href="https://github.com/linuxdeepin/deepin-autotest-framework" target="_blank">https://github.com/linuxdeepin/deepin-autotest-framework</a>
---
有趣(YouQu)是深度科技开源的一个用于 `Deepin/UOS` 操作系统(Linux)的自动化测试框架,采用结构分层的设计理念,支持多元化元素定位和断言、用例标签化管理和执行、强大的日志和报告输出等特色功能,同时完美兼容 X11、Wayland 显示协议,环境部署简单,操作易上手。
### 爱上 “有趣” 的 18 个理由
1. 核心库提供了统一的接口,编写方法时只需要导入一个包就可以使用到核心库提供的所有功能;
2. 公共库封装了很多常用模块的相关方法,比如:任务栏的操作、桌面的操作、右键菜单的操作等等;
3. 除了常用的属性定位、图像识别以外,我们还提供基于 `UI` 的元素定位方案,其使用简单且高效,效果一定能惊讶到你;
4. 对属性定位的方法进行了二次封装,将编写属性定位的方法变得简单而优雅;
5. 对图像识别定位技术进行功能升级,除了支持单个坐标返回,还支持同一界面下多个相同元素返回多个坐标的功能;
6. 提供用例标签化管理、批量跳过和批量条件跳过的功能,你想不到一个 `csv` 文件原来能干这么多事情;
7. 提供了功能强大的执行器入口,让你可以方便的在本地执行任何用例集的用例,其丰富的自定义配置项,满足你对执行器所有的幻想;
8. 提供远程执行的功能,可以控制多台机器并行跑,或者分布式跑,这种付费功能现在免费给你用;
9. 提供自动输出日志的功能,你再也不用为每个方法单独写输出日志的代码,一切我们给你搞定了,日志输出不仅内容丰富,颜值也绝对在线,我们还自己设计了一款终端输出主题叫《五彩斑斓的黑》;
10. 提供一键部署自动化测试环境的功能,让你再也不用为环境部署而烦恼;
11. 提供自动生成多种报告的功能,你想输出什么报告形式都行,而且我们在报告中还加入了失败录屏和失败截图的功能;
12. 对断言进行了二次封装,提供更友好化的错误提示,让定位问题精准高效;
13. 不仅支持单条用例超时控制,而且还支持动态控制用例批量执行的总时间,确保 `CI` 环境下能顺畅运行;
14. 支持本地文件测试套执行、`PMS` 测试套执行、标签化执行方案,满足你各种场景下的执行需求;
15. 支持基于深度学习的 `OCR` 功能,可定位可断言,中文识别的天花板;
16. 完美兼容 `Wayland` 和 `X11`,真正做到一套代码,随处执行;
17. 支持多种方式的数据回填功能,其中异步回填的方案,完美解决了数据回填的耗时问题;
18. 支持重启交互场景用例的执行,使用方法优雅简洁;
------------------------
统信公司内网还可以访问【[内网文档](http://youqu.uniontech.com/)】,文档内容一样,访问速度更快哦~~
## 安装使用
从 PyPI 安装:
<div class="termy">
```console
$ sudo pip3 install youqu
---> 100%
```
</div>
创建项目:
<div class="termy">
```console
$ youqu-startproject my_project
---> 100%
The project: [my_project],has been created by youqu-x.x.x
```
</div>
如果 `youqu-startproject` 后面不加参数,默认的项目名称为:`youqu` ;
安装依赖:
<div class="termy">
```console
// 如果你的测试机密码不是 `1` ,那你需要在全局配置文件 `globalconfig.ini` 里面将 `PASSWORD` 配置项修改为当前测试机的密码。
$ cd my_project
$ bash env.sh
---> 100%
```
</div>
-------------------------------
**【APP工程】**
如果您已经有一个可用的 `APP` 工程,将应用库放到基础框架下 `apps` 目录下,像这样:
```shell hl_lines="3"
my_project
├── apps
│ ├── autotest_deepin_music # 应用库
...
```
如果您还没有 `APP` 工程,建议使用框架提供的脚手架功能创建一个全新的 `APP` 工程。
## 创建工程
创建一个 APP 工程:
<div class="termy">
```console
$ youqu manage.py startapp autotest_deepin_some
---> 100%
```
</div>
这样在 `apps` 目录下会创建一个子项目工程 `autotest_deepin_some`,同时新建好工程模板目录和模板文件:
```shell
apps
└── autotest_deepin_some
├── case
│ ├── assert_res
│ │ └── readme
│ ├── base_case.py
│ └── __init__.py
├── config.ini
├── config.py
├── conftest.py
├── control
├── deepin_some_assert.py
├── deepin_some.csv
├── __init__.py
└── widget
├── base_widget.py
├── case_res
│ └── readme
├── deepin_some_widget.py
├── __init__.py
├── other.ini
├── other_widget.py
├── pic_res
│ └── readme
└── ui.ini
```
`autotest_deepin_some` 是你的工程名称,比如:`autotest_deepin_music` ;
在此基础上,你可以快速的开始你的 AT 项目,更重要的是确保创建工程的规范性。
运行
---
没有合适的资源?快使用搜索试试~ 我知道了~
deepin-autotest-framework-master.zip
共270个文件
py:102个
md:38个
xpm:24个
需积分: 5 0 下载量 161 浏览量
2024-03-24
12:33:11
上传
评论
收藏 624KB ZIP 举报
温馨提示
deepin-autotest-framework-master
资源推荐
资源详情
资源评论
收起资源包目录
deepin-autotest-framework-master.zip (270个子文件)
meson.build 148B
ydotoold.c 16KB
tool_type.c 8KB
ydotool.c 5KB
tool_click.c 4KB
tool_mousemove.c 4KB
tool_key.c 4KB
pylintrc.cfg 20KB
control-tpl 32B
COPYING 18KB
autotool.cpp 9KB
main.cpp 844B
termynal.css 2KB
custom.css 451B
extra.css 171B
mycase.csv-tpl 27B
CURRENT 25B
dep5 971B
sniff.desktop 406B
.editorconfig 130B
.gitignore 124B
.gitignore-tpl 13B
autotool.h 3KB
ydotool.h 2KB
contributors.html 4KB
comments.html 2KB
main.html 571B
no_busuanzi.html 77B
ydotool.service.in 234B
ydotool.service-openrc.in 223B
globalconfig.ini 9KB
remote.ini 1KB
pytest.ini 437B
sleepx.ini 276B
pmsmark.ini 176B
language.ini 169B
ui.ini-tpl 607B
config.ini-tpl 9B
other.ini-tpl 0B
termynal.js 9KB
custom.js 4KB
huge.json 36KB
3d.json 29KB
block.json 16KB
shade.json 15KB
pallet.json 13KB
slick.json 13KB
grid.json 12KB
simple3d.json 8KB
simpleBlock.json 7KB
chrome.json 5KB
simple.json 4KB
tiny.json 3KB
ci.json 136B
LICENSE 34KB
LICENSE 18KB
RELEASE.md 39KB
智能化性能测试.md 31KB
AT开发规范.md 20KB
自动化测试架构设计v1.0.md 19KB
智能化功能测试.md 18KB
图像识别.md 16KB
README.md 14KB
AT经验总结.md 13KB
AT应用库设计方案.md 11KB
AT基础框架设计方案.md 10KB
标签化管理.md 9KB
执行管理器.md 9KB
AT用例筛选指北.md 8KB
OCR识别.md 6KB
去干扰识别.md 6KB
环境部署.md 5KB
相对坐标定位.md 4KB
静态代码扫描.md 4KB
日志系统.md 4KB
属性定位.md 4KB
PMS数据回填.md 3KB
README.en.md 3KB
重启类场景.md 3KB
测试报告.md 3KB
框架生态.md 2KB
标签自动同步.md 2KB
常见问题.md 2KB
键鼠操作.md 2KB
全局配置.md 2KB
videos.md 1KB
Wayland适配.md 1KB
失败录屏.md 1KB
标签导出.md 779B
CONTRIBUTING.md 542B
README.md 360B
comments.md 274B
index.md 98B
RELEASE.md 71B
logo.png 54KB
logo.png 54KB
dogtail-head-48.png 3KB
dogtail-tail-48.png 2KB
__init__.py 77KB
tree.py 47KB
共 270 条
- 1
- 2
- 3
资源评论
电子小白的每一天
- 粉丝: 164
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功