LinuxGUI自动化测试框架搭建-总体需求&详细设计&框架设计

简介: LinuxGUI自动化测试框架搭建-总体需求&详细设计&框架设计

1 实现目的

  • 在LInux操作系统上,针对桌面端软件,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;
  • 便于回归测试,快速覆盖主线用例或功能;
  • 线上或线下巡检测试,结合持续集成,及时发现运行环境存在的问题;
  • 提升个人自动化测试技术能力,为业务提供强有力的测试手段。

2 功能需求

  • 基于Unittest,封装、调用和组织所有的测试用例,进行批量或指定用例运行;
  • 支持邮件服务,可添加任意团队成员邮箱,及时通知团队成员自动化运行结果;
  • 支持log日志,保存运行过程所有或需要记录的数据;
  • 支持HTML测试报告,直观展示测试结果和数据;
  • 支持用例设计和测试结果分离,便于数据管理;
  • 支持用户登录封装,后续所有的用例登录公用一个方法;
  • 支持任意修改Beautifulreport,可定制测试报告模板;
  • 支持测试报告多语言(英文和中文);
  • 支持截图功能;
  • 支持Jenkins持续集成;
  • 基于Dogtail自动化测试技术。

3 其他要求

  • 原则上适用于所有的Linux操作系统,如Centos、Ubuntu、RedHat、UOS等等;
  • 模块化设计,项目框架形式组织代码;
  • 公共方法封装,统一调用;
  • 数据和结果分开,清晰明了;
  • 支持邮件自定义;
  • 代码注释清晰。

4 适用人员

  • 有一定测试基础的软件测试人员;
  • 有一定的代码(Python/Java)功底;
  • 有一定的Linux系统操作基础人员;
  • 有一定的虚拟机操作或容器操作技术人员;
  • 致力于学习LinuxGUI自动化测试的所有人员。

5 学习周期

  • 两个星期到一个月,可达到独立进行LinuxGUI自动化测试;

6 学习建议

  • 建议按照文章顺序,一步一步进行学习和实践;
  • 文章是从基本的环境搭建到最终框架完全搭建的一个过程,相对来说还是比较详细的;
  • 文章偏向于项目实战,未有太多的理论介绍和名词解释,所以对0基础的人员来说,可能需要额外的时间去补充一下知识。

7 需求分析

对 实现需求进行详细分析,主要有下:

功能 说明
使用Unittest框架 开源自动化测试框架,直接使用
批量或指定用例运行 Unittest框架可支持此功能
log日志 使用Python的logging库即可
生成HTML测试报告 使用BeautifulReport模块可实现此功能
用户登录封装 直接把登录功能模块化,使用Unittest框架中的setup,teardown即可
定制测试报告模板 使用BeautifulReport模块
报告多语言 使用BeautifulReport模块
截图功能 dogtial的 screenshot

8 技术栈

技术 版本及说明
Python V3.x(本文为3.10)===编程语言支撑
Dogtail V0.9.10===控件的识别、定位及操作
BeautifulReport 生成Html测试报告
Logging Python自带===生成log日志
Unittest Python自带===自动化测试框架
Smtplib Python自带===邮件服务
email Python自带===邮件服务
os Python自带===系统模块
PyCharm Community 2023.1
操作系统 Ubuntu
sniff Dogtail自带===控件识别

9 框架设计

在这里插入图片描述

9.1 框架说明

在这里插入图片描述

9.2 框架执行流程

在这里插入图片描述

10 预期结果

10.1 测试过程log日志

在这里插入图片描述

10.2 测试报告html格式

在这里插入图片描述

10.3 测试报告邮件格式

在这里插入图片描述

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
3月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
210 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
244 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
365 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
451 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
3月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
4月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
597 0
|
4月前
|
缓存 安全 Linux
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
217 0
|
6月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。
|
7月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
230 3
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架