首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WindowsGUI自动化测试框架搭建之需求整理、详细设计和框架设计

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

原创
作者头像
虫无涯
发布2023-02-03 13:35:19
4220
发布2023-02-03 13:35:19
举报
文章被收录于专栏:全栈测试技术全栈测试技术

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 需求分析

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

功能

说明

使用Unittest框架

开源自动化测试框架,直接使用

批量或指定用例运行

Unittest框架可支持此功能

log日志

使用Python的logging库即可

生成HTML测试报告

使用BeautifulReport模块可实现此功能

用例设计和结果分离

PO模式

用户登录封装

直接把登录功能模块化,使用Unittest框架中的setup,teardown即可

定制测试报告模板

使用BeautifulReport模块

报告多语言

使用BeautifulReport模块

截图功能

使用UIAutomation的CaptureToImage方法

2.2 技术栈

技术

版本及说明

Python

V3.x(本文为3.7)===编程语言支撑

UIAutomation

控件的识别、定位及操作

BeautifulReport

生成Html测试报告

Logging

Python自带===生成log日志

Unittest

Python自带===自动化测试框架

Smtplib

Python自带===邮件服务

email

Python自带===邮件服务

os

Python自带===系统模块

PyCharm

Community 2020.2汉化版

操作系统

Windows10旗舰版64位

其它

后续补充

3 框架设计

在这里插入图片描述
在这里插入图片描述

3.1 框架说明

在这里插入图片描述
在这里插入图片描述

3.2 框架执行流程

在这里插入图片描述
在这里插入图片描述

4 预期结果

4.1 测试过程log日志

在这里插入图片描述
在这里插入图片描述

4.2 测试报告html格式

在这里插入图片描述
在这里插入图片描述

4.3 测试报告邮件格式

在这里插入图片描述
在这里插入图片描述

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 需求整理
    • 1.1 实现目的
      • 1.2 功能需求
        • 1.3 其他要求
          • 1.4 适用人员
            • 1.5 学习周期
              • 1.6 学习建议
              • 2 详细设计
                • 2.1 需求分析
                  • 2.2 技术栈
                  • 3 框架设计
                    • 3.1 框架说明
                      • 3.2 框架执行流程
                      • 4 预期结果
                        • 4.1 测试过程log日志
                          • 4.2 测试报告html格式
                            • 4.3 测试报告邮件格式
                            相关产品与服务
                            持续集成
                            CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档