写点什么

WindowsGUI 自动化测试框架搭建之需求整理、详细设计和框架设计

作者:虫无涯
  • 2023-03-07
    陕西
  • 本文字数:1229 字

    阅读完需:约 4 分钟

1 需求整理

1.1 实现目的

  • 基于 CS 架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;

  • 便于回归测试,快速覆盖主线用例或功能;

  • 线上或线下巡检测试,结合持续集成,及时发现运行环境存在的问题;

  • 提升个人自动化测试技术能力,为业务提供强有力的测试手段。

1.2 功能需求

  • 基于 Unittest,封装、调用和组织所有的测试用例,进行批量或指定用例运行;

  • 支持邮件服务,可添加任意团队成员邮箱,及时通知团队成员自动化运行结果;

  • 支持 log 日志,保存运行过程所有或需要记录的数据;

  • 支持 HTML 测试报告,直观展示测试结果和数据;

  • 支持用例设计和测试结果分离,便于数据管理;

  • 支持用户登录封装,后续所有的用例登录公用一个方法;

  • 支持任意修改 Beautifulreport,可定制测试报告模板;

  • 支持测试报告多语言(英文和中文);

  • 支持截图功能;

  • 支持 Jenkins 持续集成。

1.3 其他要求

  • 适用 Windows XP(SP3),Windows Vista, Windows 7, Windows 8、8.1、10 自动化测试;

  • 模块化设计,项目框架形式组织代码;

  • 公共方法封装,统一调用;

  • 数据和结果分开,清晰明了;

  • 支持邮件自定义;

  • 代码注释清晰。

1.4 适用人员

  • 有一定测试基础的软件测试人员;

  • 有一定的代码(Python/Java)功底;

  • 致力于学习 WindowsGUI 自动化测试的所有人员。

1.5 学习周期

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

1.6 学习建议

  • 建议按照文章顺序,一步一步进行学习和实践;

  • 文章是从基本的环境搭建到最终框架完全搭建的一个过程,相对来说还是比较详细的;

  • 文章偏向于项目实战,未有太多的理论介绍和名词解释,所以对 0 基础的人员来说,可能需要额外的时间去补充一下知识。

2 详细设计

2.1 需求分析

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



2.2 技术栈

3 框架设计

3.1 框架说明

3.2 框架执行流程

4 预期结果

4.1 测试过程 log 日志

4.2 测试报告 html 格式

4.3 测试报告邮件格式

5 UIautomation 实例

# -*- coding:utf-8 -*-
import unittestimport timeimport uiautomationimport os
# @unittest.skip("跳过")class TestFaultTree(unittest.TestCase): def setUp(self) -> None: # 初始化 os.system("calc") # 打开计算器 time.sleep(2) self.calc = uiautomation.WindowControl(Name="计算器") self.calc_list = ["一", "零", "乘以", "五", "二", "等于"] self.result = "520"
def tearDown(self) -> None: time.sleep(1) self.calc.ButtonControl(Name="关闭 计算器").Click()
def test_toolbar(self):
time.sleep(1) for i in range(0, len(self.calc_list)): self.calc.ButtonControl(Name=self.calc_list[i]).Click()
calc_result = self.calc.TextControl(foundIndex=3).Name print("计算器运行结果为:", calc_result) print("预期结果为:", self.result) self.assertIn(self.result, calc_result)
if __name__ == "__main__": unittest.main()
复制代码


发布于: 2023-03-07阅读数: 23
用户头像

虫无涯

关注

专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入

CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主

评论

发布
暂无评论
WindowsGUI自动化测试框架搭建之需求整理、详细设计和框架设计_Python_虫无涯_InfoQ写作社区