Youqu

Latest version: v2.6.5

Safety actively analyzes 638466 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

2.1.52023

New 🌟

- 将有趣的文档系统迁移到 **[linuxdeepin](https://github.com/linuxdeepin/youqu)** ,剥离文档中的图片资源,采用 `CDN` 网络加速方式加载;[mikigo](https://github.com/mikigo)

- 尝试合入一个有趣的功能;

Fix 🐛

- 修复了 `Wayland` 键鼠工具没有鼠标相对移动方法 `moveRel` 的问题; [mikigo](https://github.com/mikigo)
- 修复了` Wayland` 下获取窗口信息功能模块中环境变量的问题;[mikigo](https://github.com/mikigo)
- 优化了 `startproject` 功能的一些信息输出;[mikigo](https://github.com/mikigo)
- 修复了特殊场景下 `env_dev.sh` 开发环境部署是可能影响到正式环境 `env.sh` 的问题;[mikigo](https://github.com/mikigo)

2.1.22023

New 🌟

- 增加 `OCR` 识别自动重试机制,默认重试 2 次,支持动态传入重试次数;[mikigo](https://github.com/mikigo)
- 使用窗管最新提供的二进制接口,优化基于 `UI` 的元素定位方案在 `Wayland` 下获取窗口信息的方法;感谢桌面测试部 **何权 孙翠** 、窗管研发 **泽铭** 的大力支持。
- 扩充 `skipif` 条件跳过的功能函数:[mikigo](https://github.com/mikigo)
- `skipif_xdg_type` 支持 `x11` 或 `wayland` 上跳过;
- `skipif_cpu_name` 支持不同 `cpu` 上跳过,比如:`skipif_cpu_name-KLVVW5821`;

2.1.02023

Fix 🐛

- 修复 SW 架构环境依赖的问题,原因是之前我这里本地没有 SW 的机器,没有做相关适配;[mikigo](https://github.com/mikigo)

- 修复子项目单独需要三方包 `pexpect`,由于之前是预装到镜像里面的,但基础框架不需要,因此没有装载到虚拟环境里面,导致子项目依赖报错。[mikigo](https://github.com/mikigo)

- 修复子项目 cv 导入报错的问题;[mikigo](https://github.com/mikigo)

原因为:youqu 的图像识别功能兼容两种情况,一种是面向服务,就是本地测试机不需要安装 `OpenCV`,用例中的图像识别会通过远程服务接口进行图像识别和结果获取;第二种是原生,就是本地直接安装 `OpenCV` 直接用。两个情况的优先级是优先判断本地存在,否则走服务。

前面我们已经把 OCR 功能做了服务化,基于 1 年多以来的观察,用起来很稳定,再一个就是 `OpenCV` 安装包是比较臃肿的,粗略数了下依赖有 `30+` 个,而且在各架构上依赖包还不尽相同,装载到虚拟环境方案中不太好处理,所以本次 2.0 版本我们大胆的将图像识别的默认功能修改为面向服务的方式,前期测试一切看起来都很和谐。

但是没注意到之前给海燕姐那边项目单独定制做了个图像识别接口(为了能简单平滑的迁移到 youqu),此接口底层没有兼容服务化,所以她那边的项目调用此定制接口会报 cv 导入的问题。

由于将这个定制图像识别接口进行服务化兼容改造需要一定时间,改完还需要测试,但本次时间比较紧,因此先把 `OpenCV` 装进虚拟环境,后续版本再考虑针对此接口做修改。

2.0.02023

2.0

感谢**王波总、架构师徐小东、研发经理郑幼戈、刘郑**等研发同事的大力支持。

New 🌟

**1、新的基础框架代码获取方式及新的初始化工程命令**

`YouQu` 后续均通过 `PyPI` 进行包的发布,也就是说后续可以使用 pip 进行安装:

sh

2.0.0

安装之后会自动生成一个系统命令 youqu-startproject,使用它可以初始化工程,这里以音乐举例;

shell
youqu-startproject autotest_deepin_music


这样就会在当前目录下生成一个 `autotest_deepin_music` 目录,里面包含了基础框架所有的代码;

之后,还是在 `apps` 目录下,放入子项目的AT代码即可,使用方法和过去一样,这里就不多介绍。

另外,除了通过 pip 获取以外,仍然可以通过源码获取(直接 git clone)。

值得一提的是,使用 pip 安装 `YouQu` 时,`YouQu` 包的大小才 `600+` k,安装速度起飞。

**2、新的AT虚拟化环境部署方案**

为了解决以下问题:

- 过去一段时间咱们经常出现的,不同的AT项目在同一台机器上部署环境时依赖版本冲突的问题,新方案不同的项目会动态生成自己的虚拟环境,相互之间不影响;
- 业内为了解决版本冲突问题一般都会使用 `Python` 虚拟环境的工具,但是都有个问题,无法管理 deb 包形式发布的 Python 包,本次我们解决了这个问题,能够完全管理常规的 `Python` 包,也能管理到 deb 包形式发布的 Python 三方包;

虚拟化环境部署使用方法:

shell
bash env.sh


可以看出来和原来使用方法没有变化,也就是说从使用的角度是完全没有区别的,只是内部做了不同的事情。

值得一提的是,本机部署的功能仍然保留 `env_dev.sh`,可以作为开发时的环境部署。

**3、新的驱动命令**

过去咱们都是使用这样的命令来驱动执行:

shell
python3 manage.py run


由于默认基于虚拟化环境部署方案,因此我们增加了一个系统命令 `youqu`;

**新的驱动方式:**

shell
youqu manage.py run


只需要把 python3 替换成 youqu 就可以了,看起来很和谐~

**4、新的文档地址**

过去咱们 `YouQu` 的在线文档是部署在公司内网的,现在开源到 github 了,外部开发者肯定访问不到内网的文档,因此需要将文档部署到公网【[公网文档](https://linuxdeepin.github.io/youqu/)】;

公网文档使用的是 github pages(白嫖怪一顿狂喜~~),但可能会出现文档速度慢的问题(代理下就好了),不过没关系,咱们【[内网文档](http://youqu.uniontech.com/)】仍然保留,文档内容一样,访问速度更快。

**5、其他一些小小功能更新:**

(1)新增关闭分辨率检测的参数值;[mikigo](https://github.com/mikigo)

sh
youqu manage.py run --resolution no


或者修改 `setting/globalconfig.ini` 里面的配置:

ini
;检查测试机分辨率, 比如:1920x1080
;no: 表示不做分辨率校验
RESOLUTION = 1920x1080


`resolution` 这个参数一直都有的,只不过之前是用于指定分辨率大小,比如 `--resolution 1920x1080`,但有些接口的项目不需要这个检查,可以给它个 no 就好了,当然 CICD 上关闭,需要流水线上把这个参数加上;

(2)新增失败录屏从第几次失败开始录制视频的命令行参数;[mikigo](https://github.com/mikigo)

之前这个配置项只能在 `setting/globalconfig.ini` 里面的配置:

ini
;失败录屏从第几次失败开始录制视频。
;比如 RECORD_FAILED_CASE = 1 ,表示用例第 1 次执行失败之后开始录屏,RERUN >= RECORD_FAILED_CASE。
;1.关闭录屏:RECORD_FAILED_CASE > RERUN
;2.每条用例都录屏:RECORD_FAILED_CASE = 0
RECORD_FAILED_CASE = 1


现在将开发到命令行参数。

sh
youqu manage.py run --record_failed_case 2


Fix 🐛

- 修复 `remote` 执行时,在某些情况下无法生成测试报告的问题;[mikigo](https://github.com/mikigo)

Page 6 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.