坚持一个中国原则
2023-08-17 20:17 deepin
视频介绍打不开
Reply Like 0 View the author
视频介绍打不开
这个要点个赞
视频介绍打不开
那是公司内网才行,外网可以看这个:https://www.bilibili.com/video/BV1b94y167dT/?t=40.6
可以可以。
优秀!
多写点儿 大家爱看!
赞!
赞赞赞,多元化定位方案和标签化管理好实用~
Popular Ranking
ChangePopular Events
More
文档: https://linuxdeepin.github.io/deepin-autotest-framework
源码: https://github.com/linuxdeepin/deepin-autotest-framework
有趣(YouQu)是深度科技开源的一个用于
Deepin/UOS
操作系统(Linux)的自动化测试框架,采用结构分层的设计理念,支持多元化元素定位和断言、用例标签化管理和执行、强大的日志和报告输出等特色功能,同时完美兼容 X11、Wayland 显示协议,环境部署简单,操作易上手。爱上 “有趣” 的 18 个理由
UI
的元素定位方案,其使用简单且高效,效果一定能惊讶到你;csv
文件原来能干这么多事情;CI
环境下能顺畅运行;PMS
测试套执行、标签化执行方案,满足你各种场景下的执行需求;OCR
功能,可定位可断言,中文识别的天花板;Wayland
和X11
,真正做到一套代码,随处执行;安装使用
从 PyPI 安装:
创建项目:
如果
youqu-startproject
后面不加参数,默认的项目名称为:youqu
;安装依赖:
【APP工程】
如果您已经有一个可用的
APP
工程,将应用库放到基础框架下apps
目录下,像这样:如果您还没有
APP
工程,建议使用框架提供的脚手架功能创建一个全新的APP
工程。创建工程
创建一个 APP 工程:
这样在
apps
目录下会创建一个子项目工程autotest_deepin_some
,同时新建好工程模板目录和模板文件:autotest_deepin_some
是你的工程名称,比如:autotest_deepin_music
;在此基础上,你可以快速的开始你的 AT 项目,更重要的是确保创建工程的规范性。
运行
1. 工作空间
在项目根目录下有一个
manage.py
,它是一个执行器入口,提供了本地执行、远程执行等的功能。2. 本地执行
2.1. 命令行参数
通过命令行参数配置参数,使用
-h
或--help
可以查看所有支持的命令行参数:在一些 CI 环境下使用命令行参数会更加方便:
更多参数请查看【命令行参数】
2.2. 配置文件
通过配置文件配置参数
在配置文件
setting/globalconfig.ini
里面支持配置对执行的一些参数进行配置,配置完成之后,直接在命令行执行manage.py
就好了。详细配置项请查看【配置项】
3. 远程执行
远程执行就是用本地作为服务端控制远程机器执行,远程机器执行的用例相同;
使用
remote
命令:3.1. 远程多机器分布式异步执行
多机器分布式异步执行就是由本地 YouQu 作为服务端,控制远程 N 台机器执行相同的用例,执行完之后所有测试机的测试结果会返回给服务端 report 目录下;
远程执行同样通过配置文件
setting/globalconfig.ini
进行用例相关配置;需要重点说一下远程执行时的测试机信息配置,在配置文件
setting/remote.ini
里面配置测试机的用户名、IP、密码。有多少台机器就像这样参考上面的格式写就行了。
然后在命令行:
这样运行是从配置文件去读取相关配置。
如果你不想通过配置文件,你仍然通过命令行参数进行传参,
以下为
python3 manage.py remote
提供的一些参数选项:==除了这些特有参数以外,它同样支持本地执行的所有参数;==
在命令行这样运行:
所有用例执行完之后会在
report
目录下回收各个测试机执行的测试报告。注意:如果远程机器没有搭建自动化测试环境,记得加上参数
-e
:执行前确保远程机器已经开启了 ssh 服务,否则会提示无法连接,如果没有开启,请手动开启:
配置文件其他相关配置项详细说明,请查看配置文件中的注释内容。
3.2. 远程多机器分布式异步负载均衡执行
多机器分布式异步负载均衡执行也是用本地作为服务端控制远程机器执行,但远程机器执行的用例不同,而是所有远程机器执行的用例之和,为你想要执行的用例集;
似乎有点难以理解,我用大白话举例描述下:
服务端想要执行 10 条用例,现在远程机器有 5 台,然后服务端就先拿着第 1 条用例给远程 1 号机执行,拿第 2 条用例给远程 2 号机执行...,如此循环直到所有用例执行完,这就是负载均衡执行。
使用方法和前面一样,只是需要增加一个参数
--parallel
: