[开源]一个使用简单且功能强大的自动化测试基础框架,操作易上手

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

YouQu(有趣),一个使用简单且功能强大的自动化测试基础框架。

二、开源协议

使用GPL-2.0开源协议

三、界面展示

四、功能概述

YouQu(有趣)是统信公司(Deepin/UOS)开源的一个 Linux 操作系统的自动化测试框架,支持多元化元素定位和断言、用例标签化管理和执行、强大的日志和报告输出等特色功能,同时完美兼容 X11、Wayland 显示协议,环境部署简单,操作易上手。

YouQu(有趣)能做什么

  • Linux 桌面应用 UI 自动化测试

  • Web UI 自动化测试

  • Linux DBus 接口自动化测试

  • 命令行自动化测试

  • ️ HTTP 接口自动化测试

特性

Linux 桌面 UI 自动化测试

提升Linux桌面应用品质,确保用户体验的一致性,选择我们的UI自动化测试服务。

Web UI 自动化测试

Web UI自动化测试,优化用户体验,提升Web应用的稳定性和可靠性。

Linux DBus 接口自动化测试

专业自动化测试D-Bus接口,为Linux桌面应用的稳定性和可靠性保驾护航。

命令行自动化测试

高效命令行自动化测试,让Linux软件开发和维护更加轻松便捷。

HTTP 接口自动化测试

保障HTTP接口的响应速度和数据传输安全,我们的自动化测试是您的明智之选。

爱上 YouQu 的 N 个理由

  • 无处不在的代码补全

  • 让编写自动化测试用例成为一种享受。

  • 提供统一的接口

  • 编写方法时只需要导入一个包就可以使用到核心库提供的所有功能;

  • 多种元素定位方案

  • 除了常用的属性定位、图像识别、OCR识别以外,我们还提供基于 UI 的元素定位方案,其使用简单且高效,效果一定能惊讶到你。

  • 用例标签化管理

  • 提供用例标签化管理、批量跳过和批量条件跳过的功能,你想不到一个 csv 文件原来能干这么多事情。

  • 功能强大的执行管理器

  • 让你可以方便的在本地执行、远程执行任何用例集的用例,其丰富的自定义配置项,满足你对执行器所有的幻想。

  • 远程交互式控制

  • 用例步骤过程中控制远程机器。

  • 自动输出日志

  • 你再也不用为每个方法单独写输出日志的代码,一切我们给你搞定了,日志输出不仅内容丰富,颜值也绝对在线,我们还自己设计了一款终端输出主题叫《五彩斑斓的黑》。

  • 一键部署环境

  • 让你再也不用为环境部署而烦恼。

  • 自动生成多种报告

  • 你想输出什么报告形式都行,而且我们在报告中还加入了失败录屏和失败截图的功能。

  • 自定义断言

  • 对断言进行了二次封装,提供更友好化的错误提示,让定位问题精准高效。

  • 用例超时控制

  • 不仅支持单条用例超时控制,而且还支持动态控制用例批量执行的总时间,确保 CI 环境下能顺畅运行。

  • 软硬件兼容

  • 完美兼容 Wayland 和 X11 显示协议,硬件兼容 x86_64、aarch64、loongarch64、sw64,真正做到一套代码,随处执行。

五、技术选型

安装

从 PyPI 安装:

$ sudo pip3 install youqu

不加 sudo ?

不加 sudo 也可以:

pip3 install youqu
但可能出现 youqu-startproject 命令无法使用;

这是因为不加 sudo 时,youqu-startproject 命令会生成在 $HOME/.local/bin 下,

而此路径可能不在环境变量(PATH)中,因此您需要添加环境变量:

export PATH=$PATH:$HOME/.local/bin

创建项目

您可以在任意目录下,使用 youqu-startproject 命令创建一个项目:

$ youqu-startproject my_project
注意:所有命令不要以 root 用户执行!

如果 youqu-startproject 后面不加参数,默认的项目名称为:youqu ;


安装依赖

安装部署 YouQu 执行所需环境:

$ cd my_project$ bash env.sh# 使用的默认密码是 1;# 您可以使用 -p 选项传入密码:bash env.sh -p ${my_password}# 也可以修改配置文件 setting/globalconfig.ini 里面的 PASSWORD 配置项;
创建 APP 工程

使用 startapp 命令自动创建 APP 工程:

$ youqu manage.py startapp autotest_deepin_some
自动创建的 APP 工程遵循完整的 PO 设计模式,让你可以专注于用例和方法的编写维护。

在 apps 目录下会自动创建一个 APP 工程:autotest_deepin_some,同时新建好工程模板目录和模板文件:

my_project├── apps│   ├── autotest_deepin_some  # <-- APP工程...     ├── ...
在你的远程 Git 仓库中,只需要保存 APP 工程这部分代码即可。

autotest_deepin_some 是你的 APP 工程名称,在此基础上,你可以快速的开始你的 AT 项目,更重要的是确保创建工程的规范性。

apps 目录下可以存在任意多个 APP 工程。

运行

1. 执行管理器

在项目根目录下有一个 manage.py ,它是一个执行器入口,提供了本地执行、远程执行等的功能。

2. 本地执行

$ youqu manage.py run
2.1. 命令行参数

在一些 CI 环境下使用命令行参数会更加方便:

$ youqu manage.py run -a apps/autotest_deepin_some -k "xxx" -t "yyy"
更多用法可以使用 -h 或 --help 查看。

2.2. 配置文件

通过配置文件配置参数

在配置文件 setting/globalconfig.ini 里面支持配置对执行的一些参数进行配置。

3. 远程执行

远程执行就是用本地作为服务端控制远程机器执行,远程机器执行的用例相同。

使用 remote 命令:

$ youqu manage.py remote
六、源码地址

访问一飞开源:https://code.exmay.com/

相关推荐

  • 发现一个冷门生意:微信有几百个同城好友就能赚钱
  • 豆包的浏览器插件上线了播客和视频总结功能;DomoAI唇形同步功能已升级
  • SpringBoot 自定义启动画面
  • 急缺!高校GPU告急,李飞飞辛顿求救
  • AI引爆计算格局变革,“Arm技术授权订阅”一揽子解决创“芯”焦虑
  • 【议题征集】国际开源及RISC-V人才暨开源技术与生态之旅
  • 国外程序员吃饱了撑的?居然将Windows NT移植到“上古”的苹果麦金塔电脑
  • 这份简历模板确实简洁大方!
  • 上海AI lab开源LLaMAX,用3.5万小时的A100训练让大模型掌握上百种语言翻译
  • OpenAI凌晨发布新研究成果!证明者和验证者无限套娃,大模型黑盒变可解释又近一大步!
  • 看了世界首个AI小姐选美大赛的结果,我开始有点担心未来的择偶市场
  • 8轮融资后,上海明星独角兽要IPO了
  • Google Cloud 在预览版中引入了用于云存储的分层命名空间
  • 图灵奖数据库大师 Stonebraker 师徒对数据库近 20 年发展与展望的 2 万字论文
  • 别找啦!AIGC+金融场景的绝佳案例都在这!| FCon
  • 2024 可信数据库发展大会圆满落幕,共探数据库技术新未来!
  • 开源独角兽 GitLab 走上“卖身”路!前工程师拆台:赚钱的业务不好好运营,开发了一堆没用的功能
  • OpenAI 封了中国 API 后,国外开发者却先转向了 Claude
  • 阿里云丁宇详解产品战略:从AI辅助编程到AI程序员的全面布局
  • 上班摸鱼?不可能!卡内基梅隆准博士生开发一款 AI 程序:监控电脑屏幕,一分心就吼你