一、为什么要搭建自动化测试框架
测试如果按照是否手工划分,可以分为“手工测试”和“自动化测试”。
“手工测试”也就是用人力来进行功能测试。相比自动化测试而言执行效率慢,可以进行探索性测试和发散性测试。
“自动化测试”主要是通过所开发的软件测试工具、脚本等来替代人工进行功能测试。相比“手工测试”,不仅能解放人力,且具有良好的可操作性、可重复性和高效率等特点。
具体来说"自动化测试"的优势如下:
(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框架使用5步骤
-
#PyTest目录结构
-
apiTestFramework # 项目名称
-
├── api # 定义封装被测系统的接口
-
├── script # 定义测试用例脚本
-
├── data # 存放测试数据文件
-
├── report # 存放生成的测试报告
-
├── common # 存放通用工具类
-
├── config.py # 定义项目的配置信息
-
└── pytest.ini # pytest配置文件
3、测试报告
执行完测试用例后,可以以HTML(网页)方式将执行结果生成报告。我们选择pytest-html。它是PyTest框架生成HTML测试报告的插件。使用方便。
第一步安装:pip install pytest-html
第二步修改配置:addopts = -s --html=report/report.html
轻松搞定。
4、代码仓库
代码管理肯定是首选git喽。Git 分布式版本控制系统,实现版本控制和多人协同。
-
# 常见的代码托管平台:
-
Github
-
国外的基于git实现在线代码托管的仓库(企业版收费)
-
官网:https://github.com/
-
Gitee
-
码云,是开源中国免费提供(企业版收费)
-
官网:https://gitee.com/
-
Gitlab
-
类似Github,一般用于企业内部搭建git私服
5、持续集成方案
Jenkins是基于Java开发的一种开源、跨平台的持续集成工具。他能够持续自动构建/测试软件项目,实现监控定时执行的任务。
我们简单来说明一下Jenkins的核心构建步骤。
1) 搭建Jenkins环境
2) 创建任务之后设置源码管理
3) 输入构建命名
4)设置定时构建
5)设置测试报告路径
6)设置构建后发送邮件
7)构建并查看结果
PS: 再详细的文字也不如视频来的生动
三、手把手教:如何搭建UI自动化测试框架
UI自动化测试框架是有很多的。我们以pytest+selenium+allure+PO模式为例子给大家简要说明一下。搭建步骤有下面几步:
1)工具环境
2)依赖包
3)工程目录
4)脚本书写步骤
1、工具环境
-
a) Python解释器
-
b) Pycharm编码工具
-
Web端:
-
d) 浏览器
-
e) 浏览器驱动程序
2、依赖包
-
a) Selenium
-
b) pytest
-
c) pytest-html
3、工程目录
-
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 工具类文件
4、脚本书写步骤
a ) 初始化代码
b ) 一个测试用例脚本编写过程
c ) 引入数据驱动
d ) 引入日志
e ) 生成测试报告
PS: 若没有基础知识铺垫,再详细的文字也可能会让人不知如何下手,接下来推荐多个UI自动化测试框架视频,按照下列视频搭建即可。
在介绍“API接口测试框架”和”UI自动化测试框架”时,我们都反复提到了Pytest测试框架,那有这个框架的学习视频吗?当然有,看下方截图:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的软件测试八股文,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。