首页 > 传媒 > 关键词  > Linux操作系统最新资讯  > 正文

统信软件推出“YouQu”综合型自动化测试框架,全面赋能开发者生态

2024-08-13 15:10 · 稿源: 站长之家用户

长期以来,Linux操作系统测试,特别是桌面操作系统测试,缺少一套专业且全面的综合型自动化测试框架,这一现状成为了提升测试效率与质量保证的瓶颈。

随着国内操作系统市场的蓬勃发展,业界对一套既专业又可靠的自动化测试框架的需求愈发凸显。它不仅是技术进步的迫切呼唤,也是确保国产操作系统品质与竞争力的关键所在。因此,开发并推广这样一套测试框架变得尤为重要且紧迫。

为了填补这一行业空白,统信软件精心打造了“YouQu”综合型自动化测试框架。该框架紧密贴合实际需求,专为Linux操作系统量身定制,集管理、分发调度、驱动执行等核心功能于一体,实现了测试流程的全方位覆盖。

YouQu以其简便的环境部署、强大的功能特性脱颖而出,不仅支持UI、WEB、接口及命令行等多种自动化测试场景,还极大地提升了测试效率与质量,为Linux操作系统上的开发测试工作带来了比较罕见的便捷与有效。

01

YouQu揭秘

「统信YouQu」

YouQu(有趣)是由统信软件精心打造的Linux自动化测试框架,涵盖系统与应用测试的各种场景。它不仅是统信UOS开发者工具箱中的璀璨明珠,更是推动开发效能与质量飞跃的关键利器。自2021年7月启动内部孵化,历经三年多的精心打磨与成功实践,直至2023年8月开源,YouQu凭借其先进的架构设计、出色的性能和广泛的应用前景,迅速受到全球知名技术社区如GitHub linuxdeepin、Gitee openEuler等的喜爱和赞誉,吸引了全球开发者和用户的浓厚兴趣和积极参与。

YouQu通过其有效的元素定位和断言机制、灵活的用例管理执行体系(支持标签化)、详尽的日志记录和报告生成功能,极大地提升了测试的效率与质量。此外,YouQu还展现了其在远程交互和多样化驱动执行模式上的灵活性,为Linux操作系统上的开发测试工作带来了更优的测试体验。

YouQu兼容X11与Wayland两大主流显示协议,确保在各种Linux环境中都能运行流畅。其简洁的部署流程,搭配易用的项目初始化工具,即便是测试领域的新手也能迅速上手,轻松享受自动化测试所带来的便捷与有效。

与传统的关键字驱动自动化测试框架相比,YouQu采用前瞻性的工程化设计理念和先进技术,如图像识别、属性定位、OCR文本识别、RGB色彩比对等多元化元素定位策略,不仅有效解决了复杂嵌套结构带来的测试难题,还显著降低了维护成本,同时大幅提升了框架的可扩展性与灵活性。

此外,YouQu已汲取Avocado、Pytest、Unittest等先进测试框架的核心优势,并在创新与超越的征途中取得了显著突破,为整个行业树立了新的标杆与典范。

交互方式:

其他测试框架:主要支持命令行交互,对UI自动化支持度不够。

YouQu:自研了多套 Linux GUI 元素定位和键鼠模拟方案,高度支持UI自动化,同时支持更加丰富的命令行交互方式。

开发模块

其他测试框架:没有脚手架工具,需要测试开发者耗费大量时间从零开始搭建用例工程。

YouQu:内置脚手架工具,实现了一键创建完整的用例工程。在此过程中,导入语句、方法调用、公共方法等基础代码均能自动生成,大大降低了入门门槛,尤其对新手用户极为友好。这不仅加速了自动化项目的启动速度,还为后续的自动化脚本编写带来了极大的便利性。

管理模块

其他测试框架:主要通过在代码中增加装饰器、在代码类或函数中添加注释来管理测试用例,这种方式在初期看似便捷,但随着测试用例数量越来越多,其维护难度也越来越大,且灵活性受限,难以满足复杂项目的需求。

YouQu:采用了创新的标签化管理专利方案,它通过CSV文件管理所有用例标签,不仅支持网络导入和自定义扩展,还支持逻辑组合。其格式设计统一且易于理解,从而确保了高度的可维护性,同时在实际应用中也非常灵活。

执行模块

其他测试框架:远程执行能力通常比较弱,一般都需要依赖外部插件。

YouQu:内置本地和远程双重驱动执行功能,并提供了丰富的执行策略配置选项。其远程驱动执行功能基于SSH协议实现,且远程执行设备无需部署额外的环境。此外,YouQu还支持对批量测试机进行分布式执行。

维护模块

其他测试框架:没有自动日志系统,迫使测试开发者需要手动添加日志输出代码。同时,它们往往不支持失败录屏功能,且测试报告通常需要依赖额外的插件。

YouQu:内置全自动日志系统,能够自动记录并输出测试过程中的详细日志信息。同时,它还内置了执行失败录屏功能,且还能生成详细、美观且易于理解的测试报告。

展望未来,YouQu将继续秉持面向未来、积极创新的理念,不断探索自动化测试的新领域,为Linux操作系统的测试工作注入更多智慧和活力,推动技术进步和产业升级。

欢迎访问统信开发者平台获取更多YouQu信息

02

YouQu特点

支持多种测试类型

Linux桌面应用UI自动化测试

基于Qt属性查找、图像识别、OCR识别、相对位移方案获取元素位置,通过键鼠模拟操控元素进行UI操作。

Web UI自动化测试

基于PlayWright控制浏览器(可自定义)进行Web UI自动化测试。

Linux DBus接口自动化测试

通过框架内置的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格式,不仅确保报告信息的详尽丰富,更在呈现上追求美观与易读性。无论是用户本地直观查看,还是通过第三方接口进行数据交互,YouQu测试报告均能够满足,为用户提供灵活便捷的报告体验。

用例标签化管理

实施了用例标签的集中化管理策略,将所有用例的标签整合至一个统一的表格中,便于标签的集中定义与管理。该标签系统不仅支持无限扩展,以灵活应对各种测试需求,还特别引入了跳过类标签功能,便于在特定情境下跳过特定用例。在日常维护中,仅需聚焦于标签表格的更新与维护,极大地简化了管理流程。此外,这些标签还作为强大的筛选项,在驱动用例执行时发挥关键作用,确保能够比较准确筛选并执行目标用例集,实现测试过程的有效与准确。

全自动日志

无需编写日志打印代码,只需简单应用一个装饰器,即可自动记录并输出类中所有方法的功能说明,实现日志记录的自动化与智能化。

远程交互式控制

用户能够利用YouQu的RPC接口,实现与远程测试机器的实时互动,准确地指挥其执行复杂多变的UI操作及命令行指令。此接口赋予测试设备远程互控的能力,能够有效应对多端交互这种复杂业务场景实现自动化的难题,提升了自动化测试场景覆盖面。

失败录屏

失败录屏功能能够完整的捕捉并记录用例执行过程中的各类细节与异常情况,为迅速锁定并解析用例失败的根本原因提供了强有力的支持。

03

项目实践

YouQu框架已深度融入公司日常运营,成功应用于数十项组件与系统的例行测试与持续集成流程之中,覆盖领域广泛,包括但不限于高度复杂性的系统级应用组件如文件管理器、DDE及窗口管理器等。该框架展现出卓越的稳定性和有效性,持续稳定地实现月均五万条测试用例的无人值守自动化执行,确保了测试工作的有效性与比较准确度。

YouQu框架已正式在GitHub、Gitee等知名开源社区完成项目的全面开源,展现出广泛的兼容性与强大的跨平台能力,无缝适配并优化运行于UOS、deepin、openEuler、Anolis OS等众多主流操作系统之上,为开发者与用户提供了更加灵活多样的选择与应用体验。

04

YouQu官方兴趣小组

YouQu框架的维护与演进展现出极其活跃的态势,其官方兴趣小组汇聚了来自国内外众多优秀开发者,大家携手并进,深入交流自动化领域的比较新趋势与技术攻关挑战,共同推动该框架在技术前沿的持续探索与革新。

统信YouQu官方兴趣小组火热招募中!

推广

特别声明:以上内容(如有图片或视频亦包括在内)均为站长传媒平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。站长之家将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。任何单位或个人认为本页面内容可能涉嫌侵犯其知识产权或存在不实内容时,可及时向站长之家提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明(点击查看反馈联系地址)。本网站在收到上述法律文件后,将会依法依规核实信息,沟通删除相关内容或断开相关链接。

  • 相关推荐
  • 大家在看
  • Canvas:与ChatGPT协作的新方式

    Canvas是OpenAI推出的一个新界面,旨在通过与ChatGPT的协作来改进写作和编码项目。它允许用户在一个单独的窗口中与ChatGPT一起工作,超越了简单的聊天界面。Canvas利用GPT-4o模型,能够更好地理解用户的上下文,并提供内联反馈和建议。它支持直接编辑文本或代码,并提供快捷操作菜单,帮助用户调整写作长度、调试代码等。Canvas还支持版本回溯,帮助用户管理项目的不同版本。

  • Text Behind Image:轻松创建文字背景图片设计。

    Text Behind Image 是一个开源的设计工具,允许用户轻松创建文字背景图片设计。它提供了一个简洁的界面,让用户可以自由地在图片上添加文字,创造出独特的视觉效果。这个工具对于设计师、社交媒体运营者和内容创作者来说非常有用,因为它可以快速生成具有吸引力的视觉内容。

  • torchao:PyTorch原生量化和稀疏性训练与推理库

    torchao是PyTorch的一个库,专注于自定义数据类型和优化,支持量化和稀疏化权重、梯度、优化器和激活函数,用于推理和训练。它与torch.compile()和FSDP2兼容,能够为大多数PyTorch模型提供加速。torchao旨在通过量化感知训练(QAT)和后训练量化(PTQ)等技术,提高模型的推理速度和内存效率,同时尽量减小精度损失。

  • LFMs:新一代生成式AI模型

    Liquid Foundation Models (LFMs) 是一系列新型的生成式AI模型,它们在各种规模上都达到了最先进的性能,同时保持了更小的内存占用和更高效的推理效率。LFMs 利用动态系统理论、信号处理和数值线性代数的计算单元,可以处理包括视频、音频、文本、时间序列和信号在内的任何类型的序列数据。这些模型是通用的AI模型,旨在处理大规模的序列多模态数据,实现高级推理,并做出可靠的决策。

  • NVLM-D-72B:前沿的多模态大型语言模型

    NVLM-D-72B是NVIDIA推出的一款多模态大型语言模型,专注于视觉-语言任务,并且通过多模态训练提升了文本性能。该模型在视觉-语言基准测试中取得了与业界领先模型相媲美的成绩。

  • gradio-bot:将Hugging Face Space或Gradio应用转化为Discord机器人

    gradio-bot是一个可以将Hugging Face Space或Gradio应用转化为Discord机器人的工具。它允许开发者通过简单的命令行操作,将现有的机器学习模型或应用快速部署到Discord平台上,实现自动化交互。这不仅提高了应用的可达性,还为开发者提供了一个与用户直接交互的新渠道。

  • AI-Powered Meeting Summarizer:会议语音转文本并自动生成摘要的AI工具

    AI-Powered Meeting Summarizer是一个基于Gradio的网站应用,能够将会议录音转换为文本,并使用whisper.cpp进行音频到文本的转换,以及Ollama服务器进行文本摘要。该工具非常适合快速提取会议中的关键点、决策和行动项目。

  • VARAG:视觉增强的检索与生成系统

    VARAG是一个支持多种检索技术的系统,优化了文本、图像和多模态文档检索的不同用例。它通过将文档页面作为图像嵌入,简化了传统的检索流程,并使用先进的视觉语言模型进行编码,提高了检索的准确性和效率。VARAG的主要优点在于它能够处理复杂的视觉和文本内容,为文档检索提供强大的支持。

  • JoyHallo:数字人模型,支持生成普通话视频

    JoyHallo是一个数字人模型,专为普通话视频生成而设计。它通过收集来自京东健康国际有限公司员工的29小时普通话视频,创建了jdh-Hallo数据集。该数据集覆盖了不同年龄和说话风格,包括对话和专业医疗话题。JoyHallo模型采用中国wav2vec2模型进行音频特征嵌入,并提出了一种半解耦结构来捕捉唇部、表情和姿态特征之间的相互关系,提高了信息利用效率,并加快了推理速度14.3%。此外,JoyHallo在生成英语视频方面也表现出色,展现了卓越的跨语言生成能力。

  • PhysGen:基于物理的图像到视频生成技术

    PhysGen是一个创新的图像到视频生成方法,它能够将单张图片和输入条件(例如,对图片中物体施加的力和扭矩)转换成现实、物理上合理且时间上连贯的视频。该技术通过将基于模型的物理模拟与数据驱动的视频生成过程相结合,实现了在图像空间中的动态模拟。PhysGen的主要优点包括生成的视频在物理和外观上都显得逼真,并且可以精确控制,通过定量比较和全面的用户研究,展示了其在现有数据驱动的图像到视频生成工作中的优越性。

  • Whisper large-v3-turbo:高效自动语音识别模型

    Whisper large-v3-turbo是OpenAI提出的一种先进的自动语音识别(ASR)和语音翻译模型。它在超过500万小时的标记数据上进行训练,能够在零样本设置中泛化到许多数据集和领域。该模型是Whisper large-v3的微调版本,解码层从32减少到4,以提高速度,但可能会略微降低质量。

  • Realtime API:低延迟的实时语音交互API

    Realtime API 是 OpenAI 推出的一款低延迟语音交互API,它允许开发者在应用程序中构建快速的语音到语音体验。该API支持自然语音到语音对话,并可处理中断,类似于ChatGPT的高级语音模式。它通过WebSocket连接,支持功能调用,使得语音助手能够响应用户请求,触发动作或引入新上下文。该API的推出,意味着开发者不再需要组合多个模型来构建语音体验,而是可以通过单一API调用实现自然对话体验。

  • Saylo AI:探索无限的AI角色扮演游戏。

    Saylo AI是一个AI角色扮演游戏,让你与AI角色互动,探索多样化的戏剧性故事。它利用人工智能技术,提供沉浸式的互动体验,让玩家在虚拟世界中与AI朋友交流,体验不同的故事情节。Saylo AI的背景信息展示了其创新性和娱乐性,旨在为玩家提供一种全新的娱乐方式。目前产品处于推广阶段,价格未明确标注。

  • twinny:Visual Studio Code的免费且私密的AI扩展

    twinny是一个为Visual Studio Code用户设计的AI扩展,旨在提供个性化的编程辅助,提高开发效率。它通过集成先进的AI技术,帮助开发者在编码过程中快速解决问题,优化代码,并提供智能提示。twinny的背景是响应开发者对于更加智能和自动化编程工具的需求,它通过简化开发流程,减少重复劳动,从而让开发者能够专注于更有创造性的工作。

  • Buildpad:构建人们真正想要的产品

    Buildpad 是一个旨在帮助创始人从概念到成功最小可行产品(MVP)的在线平台。它通过提供智能验证工具、AI引导的开发流程、进度跟踪以及个性化的项目见解,帮助用户构建能够获得市场认可的产品。Buildpad 的主要优点包括简化产品开发流程、提高产品成功率、以及提供个性化的指导和支持。

  • Novela:AI时代的技能学习平台

    Novela是一个专注于AI时代技能学习的在线平台,提供早期访问服务,用户可以免费试用。它旨在帮助用户掌握AI相关的技能,以适应未来职场的需求。

  • interview.co:视频面试软件,简化招聘流程

    interview.co是一个专注于简化招聘流程的视频面试软件。它通过提供在线视频面试、AI问题生成器和面试管理工具,帮助企业高效地筛选和评估候选人。产品背景信息显示,interview.co旨在解决传统面试中的时间消耗、日程安排困难和成本高昂等问题。价格方面,interview.co提供试用版,具体定价信息需进一步探索。

  • Open NotebookLM:将任何PDF转换为播客集!

    Open NotebookLM是一个利用开源语言模型和文本到语音模型的工具,它可以处理PDF内容,生成适合音频播客的自然对话,并将其输出为MP3文件。该项目的灵感来自于NotebookLM工具,通过使用开源的大型语言模型(LLMs)和文本到语音模型来实现。它不仅提高了信息的可访问性,还为内容创作者提供了一种新的媒体形式,使他们能够将书面内容转换为音频格式,扩大其受众范围。

  • Chital:macOS平台的Ollama模型聊天应用

    Chital是一个为macOS平台设计的应用程序,它允许用户与Ollama模型进行聊天。这个应用具有低内存占用和快速启动的特点,支持多聊天线程,能够在不同的模型间切换,并支持Markdown格式。此外,它还能自动为聊天线程生成标题摘要。Chital的开发主要是为了满足开发者个人的使用需求,但也鼓励社区成员通过fork代码库来添加新功能。

  • SafeEar:保护隐私的音频深度检测

    SafeEar是一个创新的音频深度检测框架,它能够在不依赖于语音内容的情况下检测深度音频。这个框架通过设计一个神经音频编解码器,将语义和声学信息从音频样本中分离出来,仅使用声学信息(如韵律和音色)进行深度检测,从而保护了语音内容的隐私。SafeEar通过在真实世界中增强编解码器来提高检测器的能力,使其能够识别各种深度音频。该框架在四个基准数据集上的广泛实验表明,SafeEar在检测各种深度技术方面非常有效,其等错误率(EER)低至2.02%。同时,它还能保护五种语言的语音内容不被机器和人类听觉分析破译,通过我们的用户研究和单词错误率(WER)均高于93.93%来证明。此外,SafeEar还构建了一个用于反深度和反内容恢复评估的基准,为未来在音频隐私保护和深度检测领域的研究提供了基础。

今日大家都在搜的词: