搭建的自动化测试框架要包括API测试,UI测试,APP测试三类。以上三类其实可以简化为两类,那就是:
1)接口自动化测试框架搭建
2)UI自动化测试框架搭建。
没问题,安排,且是手把手教你如何搭建以上两类自动化测试框架。
刷到这个问题的测试人员,可能有一部分还是从事"手工测试"的,或是一些是自学测试刚入门。为了让这类读者也能有获得感,所以我将问题拆分下,分为下面4个部分:
1、为什么要搭建自动化测试框架
2、简介如何搭建API接口测试框架
3、简介如何搭建UI自动化测试框架
4、自动化测试框架电子书推荐
好,抓好扶手,接下来我们开始正式介绍了。
一、为什么要搭建自动化测试框架
测试如果按照是否手工划分,可以分为“手工测试”和“自动化测试”。
“手工测试”也就是用人力来进行功能测试。相比自动化测试而言执行效率慢,可以进行探索性测试和发散性测试。
“自动化测试”主要是通过所开发的软件测试工具、脚本等来替代人工进行功能测试。相比“手工测试”,不仅能解放人力,且具有良好的可操作性、可重复性和高效率等特点。
具体来说"自动化测试"的优势如下:
(1)自动化测试具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。
(2)自动化测试可以将任务自动化,能够解放人力去做更重要的工作。
(3)自动化测试只需要部署好相应的场景,如高度复杂使用场景、海量数据交互、动态响应请求等,测试就可以在无人值守的状态下自动进行,并对测试结果进行分析反馈;手工测试很难实现复杂的测试。
(4)自动化测试可以模拟复杂的测试场景完成人工无法完成的测试,如负载测试、压力测试等。
(5)软件版本更新迭代后需要进行回归测试,自动化测试有助于创建持续集成环境,使用新构建的测试环境快速进行自动化测试
可见,自动化测试优势非常多,所以最近几年企业疯狂招聘自动化测试人员。高薪的自动化测试不断的涌入,逐步替代低薪的手工测试,直接后果就是测试最近几年的平均薪资一路上涨。
自动化测试具体实施流程如下图所示:
从上图可以看出,要实施自动化测试是需要搭建测试环境的,也就是要搭建测试框架。
这就是为什么我们要学习"接口自动化测试框架搭建"和"Ui自动化测试框架搭建"的根本原因。
二、简介如何搭建API接口测试框架
在当前企业实际测试技能应用中,功能测试和接口测试应用最广泛。但相比功能测试,接口测试缺口却非常大。且接口测试在测试领域地位非常高,是软件测试工程师初级和中级分界线。
所以我们先来将接口测试框架的搭建,搭建步骤列出如下:
1)选择开发语言
2)选择Pytest作为测试框架
3)设置测试报告
4)选择代码仓库
5)部署持续集成方案
附:两套详细学习视频推荐
步骤步骤讲完之后,我们开始详细阐述每一步该如何操作(尽力能让你照着步骤搭建出来)。
1、选择一门语言
语言我们选择Python。因为相比Java,更容易入门。
python是一门简单易学,容易理解的计算机编程语言。不仅有很多的学习书籍,还有很多的学习视频。Python也早已经成为tiobe语言的No1。
2、选择PyTest作为测试框架
PyTest是一个非常成熟的全功能的Python测试框架。官方文档详细介绍了它的特点
· 对失败断言语句会进行详细信息展示(无需记住self.assert*名称)
· 自动发现测试模块和功能
· 非常方便管理小型或参数化测试项目
· 可以开箱即用运行单元测试和测试套件
· 丰富的插件架构,超过 800 多个外部插件和蓬勃发展的社区
#PyTest目录结构
apiTestFramework # 项目名称
├── api # 定义封装被测系统的接口
├── script # 定义测试用例脚本
├── data # 存放测试数据文件
├── report # 存放生成的测试报告
├── common # 存放通用工具类
├── config.py # 定义项目的配置信息
└── pytest.ini # pytest配置文件
- 测试报告
执行完测试用例后,可以以HTML(网页)方式将执行结果生成报告。我们选择pytest-html。它是PyTest框架生成HTML测试报告的插件。使用方便。
第一步安装:pip install pytest-html
第二步修改配置:addopts = -s --html=report/report.html
轻松搞定。
- 代码仓库
代码管理肯定是首选git喽。Git 分布式版本控制系统,实现版本控制和多人协同。
# 常见的代码托管平台: Github 国外的基于git实现在线代码托管的仓库(企业版收费) 官网:https://github.com/ Gitee 码云,是开源中国免费提供(企业版收费) 官网:https://gitee.com/ Gitlab 类似Github,一般用于企业内部搭建git私服
- 持续集成方案
Jenkins是基于Java开发的一种开源、跨平台的持续集成工具。他能够持续自动构建/测试软件项目,实现监控定时执行的任务。
我们简单来说明一下jenkins的核心构建步骤。
1) 搭建Jenkins环境
2) 创建任务之后设置源码管理
3) 输入构建命名
4)设置定时构建
5)设置测试报告路径
6)设置构建后发送邮件
7)构建并查看结果
技术交流103-348-2984 资料领取,欢迎加入我们的测试自学交流群,里面有来自华为,字节,阿里,科大讯飞等公司的热心同行,2022,一起抱团取暖。
三、手把手教:如何搭建UI自动化测试框架
UI自动化测试框架是有很多的。我们以pytest+selenium+allure+PO模式为例子给大家简要说明一下。搭建步骤有下面几步:
1)工具环境
2)依赖包
3)工程目录
4)脚本书写步骤
1、工具环境
a) Python解释器
b) Pycharm编码工具
c) Web端:
d) 浏览器
e) 浏览器驱动程序
-
依赖包
a) Selenium
b) pytest
c) pytest-html -
工程目录a) base 基类python package
b) page PO封装python package
c) case 测试用例python package
d) data 数据文件Directory
e) report 测试报告Directory
f) log 日志文件Directory
g) screenshot 截图文件Directory
h) config.py 项目配置信息文件
i) utils.py 工具类文件 -
脚本书写步骤
a ) 初始化代码
b ) 一个测试用例脚本编写过程
c ) 引入数据驱动
d ) 引入日志
e ) 生成测试报告
PS: 若没有基础知识铺垫,再详细的文字也可能会让人不知如何下手,接下来推荐多个UI自动化测试框架视频,按照下列视频搭建即可。
四、自动化测试框架电子书推荐
这一本书籍相信对你的帮助应该很大–《Web接口开发与自动化测试》
再推荐一本关于UI自动化测试的书籍–《Python实现Web UI自动化测试实战》
此书主要介绍如何基于Python使用Selenium、unittest、Pytest、GitLab、Jenkins等工具实现Web UI自动化测试,以帮助提升测试水平。
若你在学自动化测试框架时,还想先掌握软件测试的基础知识,打牢测试基础。在此你千万不要担心没有学习资料。特意为各位准备了一份13G的超实用干货学习资源,涉及的内容非常全面,涵盖功能测试、Python编程语言,接口测试、UI自动化测试、当然也包括性能测试…
关注即可免费领取一份216页软件测试工程师视频文档资料。