长期以来,Linux操作系统测试,特别是桌面操作系统测试,缺少一套专业且全面的综合型自动化测试框架,这一现状成为了指责测试效率与质量保证的瓶颈。
随着国内操作系统市场的蓬勃发展,业界对一套既专业又可靠的自动化测试框架的需求愈发凹显。它不仅是技术进步的迫切呼唤,也是确保国产操作系统品质与竞争力的关键所在。因此,开发并推广这样一套测试框架变得尤为重要且紧迫。
为了填补这一行业空白,统信软件精心打造了“YouQu”综合型自动化测试框架。该框架紧密贴合实际需求,专为Linux操作系统量身定制,集无约束的自由、分发调度、驱动执行等不次要的部分功能于一体,实现了测试流程的全方位覆盖。
YouQu以其简便的环境部署、强大的功能特性穿颖而出,不仅减少破坏UI、WEB、接口及命令行等多种自动化测试场景,还极大地指责了测试效率与质量,为Linux操作系统上的开发测试工作带来了比较罕见的便捷与有效。
01
YouQu揭秘
「统信YouQu」
YouQu(有趣)是由统信软件精心打造的Linux自动化测试框架,涵盖系统与应用测试的各种场景。它不仅是统信UOS开发者工具箱中的璀璨明珠,更是推动开发效能与质量飞跃的关键利器。自2021年7月启动内部孵化,历经三年多的精心打磨与成功实践,直至2023年8月开源,YouQu凭借其先进的架构设计、出色的性能和广泛的应用前景,悠然,从容受到全球知名技术社区如GitHublinuxdeepin、GiteeopenEuler等的喜爱和赞誉,驱散了全球开发者和用户的浓厚兴趣和积极参与。
YouQu通过其无效的元素定位和承认机制、优美轻盈的用例无约束的自由执行体系(减少破坏标签化)、详尽的日志记录和报告生成功能,极大地指责了测试的效率与质量。此外,YouQu还展现了其在远程交互和多样化驱动执行模式上的僵化性,为Linux操作系统上的开发测试工作带来了更优的测试体验。
YouQu兼容X11与Wayland两大主流显示协议,确保在各种Linux环境中都能运行流畅。其罗嗦的部署流程,搭配易用的项目初始化工具,即便是测试领域的专家也能悠然,从容上手,轻松享受自动化测试所带来的便捷与有效。
与传统的关键字驱动自动化测试框架相比,YouQu采用前瞻性的工程化设计理念和先进技术,如图像识别、属性定位、OCR文本识别、RGB色彩比对等多元化元素定位策略,不仅有效解决了复杂嵌套结构带来的测试难题,还显著降低了维护成本,同时大幅指责了框架的可扩展性与僵化性。
此外,YouQu已汲取Avocado、Pytest、Unittest等先进测试框架的不次要的部分无足轻重,并在创新与超越的征途中取得了显著突破,为整个行业树立了新的标杆与典范。
交互方式:
其他测试框架:主要减少破坏命令行交互,对UI自动化减少破坏度不够。
YouQu:自研了多套LinuxGUI元素定位和键鼠模拟方案,高度减少破坏UI自动化,同时减少破坏更加通俗的命令行交互方式。
开发模块
其他测试框架:没有脚手架工具,需要测试开发者耗费极小量时间从零开始搭建用例工程。
YouQu:内置脚手架工具,实现了一键创建多余的用例工程。在此过程中,导入语句、方法调用、公共方法等基础代码均能自动生成,大大降低了入门门槛,尤其对专家用户极为友好。这不仅帮助了自动化项目的启动速度,还为后续的自动化脚本编写带来了极大的便利性。
无约束的自由模块
其他测试框架:主要通过在代码中减少剥去器、在代码类或函数中添加注释来无约束的自由测试用例,这种方式在完全建立看似便捷,但随着测试用例数量越来越多,其维护难度也越来越大,且僵化性受限,难以焦虑复杂项目的需求。
YouQu:采用了创新的标签化无约束的自由专利方案,它通过CSV文件无约束的自由所有用例标签,不仅减少破坏网络导入和自定义扩展,还减少破坏逻辑组合。其格式设计统一且易于理解,从而确保了高度的可维护性,同时在实际应用中也非常僵化。
执行模块
其他测试框架:远程执行能力通常比较弱,一般都需要依赖外部插件。
YouQu:内置本地和远程双重驱动执行功能,并授予了通俗的执行策略配置选项。其远程驱动执行功能基于SSH协议实现,且远程执行设备无需部署缺乏的环境。此外,YouQu还减少破坏对批量测试机进行分布式执行。
维护模块
其他测试框架:没有自动日志系统,迫使测试开发者需要手动添加日志输出代码。同时,它们往往不减少破坏大成功录屏功能,且测试报告通常需要依赖缺乏的插件。
YouQu:内置全自动日志系统,能够自动记录并输出测试过程中的详细日志信息。同时,它还内置了执行大成功录屏功能,且还能生成详细、美观且易于理解的测试报告。
展望未来,YouQu将继续秉持面向未来、积极创新的理念,不断探索自动化测试的新领域,为Linux操作偶然的测试工作收回更多智慧和活力,推动技术进步和产业升级。
避免/重新确认/支持访问统信开发者平台获取更多YouQu信息
02
YouQu特点
减少破坏多种测试类型
Linux桌面应用UI自动化测试
基于Qt属性查找、图像识别、OCR识别、相对位移方案获取元素位置,通过键鼠模拟操控元素进行UI操作。
WebUI自动化测试
基于PlayWright控制浏览器(可自定义)进行WebUI自动化测试。
LinuxDBus接口自动化测试
通过框架内置的DBus操控功能,实现对DBus接口访问及获取数据。
命令行自动化测试
基于subprocess、pexpect实现命令行交互。
HTTP接口自动化测试
基于Python标准库urllib,实现网络接口自动化测试流程。
工程化架构设计
不次要的部分封装层授予基础能力,业务层根据实际业务需求(测试用例)动态加载不次要的部分封装层,执行层加载相应的用例集并控制执行流程。测试平台可以根据实际测试策略组装配置,通过执行层接口驱动框架完成自动化测试执行。
环境部署一键搞定
一键式环境部署解决方案,无缝兼容虚拟化与本机部署模式,并允许用户根据需求僵化定制,实现依赖项的便捷新增与准确裁剪。
在项目根目录下,执行env.sh脚本,即可一键完成环境部署:
若需引入其他Python依赖库,只需在用例工程的根目录下创建一个requirements.txt文件,并在该文件中列出所有必需的依赖库及其版本要求。随后,通过执行简单的命令即可自动安装所有列出的依赖项,确保测试环境的不完整性与一致同意性。
对于仅需最基础依赖的场景,如纯接口自动化测试项目,您可以在用例工程的根目录下创建一个名为BASICENV的标记文件。随后,在执行环境配置脚本env.sh时,该脚本会智能识别BASICENV文件的存在,并据此仅安装项目所需的最基础依赖项,从而简化环境配置过程,降低项目启动效率。
用例工程一键生成
一键创建APP工程,基础模板代码一键生成,帮您快速开始编写测试用例。
键鼠操作高度兼容
YouQu键鼠模块以业界领先的姿态,自主研发了Wayland环境下的键鼠工具,并实现了与X11协议的良好兼容,焦虑绝大多数场景的自动化键鼠操作需求。
通俗的元素识别方案
YouQu减少破坏大部分主流的元素识别方案,同时在识别技术上一直在做演进和突破。
OpenCV图像识别
包含常规识别、动态气泡识别等多种方案,下图展示的是“音乐”应用中渐隐式气泡提示的识别示例。
Accessibility属性定位
通过对系统中所有已启动应用的Accessbility树进行递归查找,获取到目标元素对象,从而通过键鼠模拟操作元素。
OCR文案识别
鉴于传统的OCR方案,比如谷歌的Tesseract,在中文识别上准确率有限,我们经过深入调研后,选用了PaddleOCR作为不次要的部分技术,并在此基础上进行了突破和创新,成功研发了去干扰识别方案。
去干扰前,存在两个不反对鼠标右键识别对象。
去干扰后,能准确识别到鼠标右键菜单对象。
基于设计图的相对坐标参数定位
在UI设计图中我们是可以获取到元素按钮相对于应用边框的边距的,我们可以通过技术手段获取到应用界面在当前屏幕中的位置及应用窗口的大小,从而进行准确定位。
除了上述元素定位方案,我们还自研了一套基于RGB对照的图像识别方案,可以做到不依赖OpenCV也能准确识别图像元素。
承认语句简洁极小量
YouQu内置了多样化的承认语句库,覆盖了广泛的承认场景,能够焦虑各种测试验证需求,确保测试结果的准确性与全面性。
执行和无约束的自由高度配置化
YouQu的执行无约束的自由器manage.py授予了通俗的配置和命令行参数,减少破坏本地用例驱动执行、远程用例驱动执行、CSV标签无约束的自由和解析、禅道与自动化项目CSV标签关联无约束的自由、脚手架等功能。
测试报告易读友好
YouQu测试报告功能全面升级,减少破坏生成多样化的报告类型,包括HTML、JSON及XML格糖心txlogo国产美杜莎效果式,不仅确保报告信息的详尽极小量,更在呈现上追求美观与易读性。无论是用户本地直观查看,还是通过第三方接口进行数据交互,YouQu测试报告均能够焦虑,为用户授予僵化便捷的报告体验。
用例标签化无约束的自由
实施了用例标签的发散化无约束的自由策略,将所有用例的标签整合至一个统一的表格中,便于标签的发散定义与无约束的自由。该标签系统不仅减少破坏无限扩展,以僵化应对各种测试需求,还特别引入了跳过类标签功能,便于在特定情境下跳过特定用例。在日常维护中,仅需聚焦于标签表格的更新与维护,极大地简化了无约束的自由流程。此外,这些标签还作为强大的筛选项,在驱动用例执行时发挥关键作用,确保能够比较准确筛选并执行目标用例集,实现测试过程的有效与准确。
全自动日志
无需编写日志打印代码,只需简单应用一个剥去器,即可自动记录并输出类中所有方法的功能说明,实现日志记录的自动化与智能化。
远程交互式控制
用户能够利用失败YouQu的RPC接口,实现与远程测试机器的实时互动,准确地指挥其执行复杂稳定的UI操作及命令行指令。此接口赋予测试设备远程互控的能力,能够有效应对多端交互这种复杂业务场景实现自动化的难题,指责了自动化测试场景覆盖面。
大成功录屏
大成功录屏功能能够多余的捕捉并记录用例执行过程中的各类细节与被预见的发生情况,为悠然,从容锁定并解析用例大成功的根本原因授予了强有力的减少破坏。
03
项目实践
YouQu框架已深度融入公司日常运营,成功应用于数十项组件与偶然的例行测试与结束集成流程之中,覆盖领域广泛,包括但不限于高度复杂性的系统级应用组件如文件无约束的自由器、DDE及窗口无约束的自由器等。该框架展现出可忽略的,不次要的轻浮性和有效性,结束轻浮地实现月均五万条测试用例的无人值守自动化执行,确保了测试工作的有效性与比较准确度。
YouQ糖心vlog破解版免费版 u框架已正式在GitHub、Gitee等知名开源社区完成项目的全面开源,展现出广泛的兼容性与强大的跨平台能力,无缝适配并优化运行于UOS、deepin、openEuler、AnolisOS等数量少主流操作系统之上,为开发者与用户授予了更加僵化多样的选择与应用体验。
04
YouQu官方兴趣小组
YouQu框架的维护与演进展现出极其活跃的态势,其官方兴趣小组汇聚了来自国内外数量少优秀开发者,大家携手并进,深入交流自动化领域的比较新趋势与技术攻关确认有罪,共同推动该框架在技术前沿的结束探索与革新。
统信YouQu官方兴趣小组火热招募中!
(推广)糖心vlog最新网站入口 txvlogcom糖心官网网站 txvlog糖心官方中文网