如何从零开始搭建公司自动化测试框架?
搭建的自动化测试框架要包括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页软件测试工程师视频文档资料。
如何从零开始搭建公司自动化测试框架?相关推荐
- 基于pytest搭建接口自动化测试框架,提供源码
基于pytest搭建接口自动化测试框架 框架整体介绍和方法教程 新框架(比这个功能多了很多,用例使用yaml编写) 源码框架结构 xmind项目结构介绍 源码地址 使用教程 1.全局变量设置和使用 2 ...
- 从零开始搭建公司后台技术栈
有点眼晕,以下只是我们会用到的一些语言的合集,而且只是语言层面的一部分,就整个后台技术栈来说,这只是一个开始,从语言开始,还有很多很多的内容.今天要说的后台是大后台的概念,放在服务器上的东西都属于后台 ...
- 从零开始搭建公司微服务架构技术栈,这套架构绝了...
近年,Spring Cloud 俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆.我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对 Spr ...
- Silverlight游戏设计(Game Design):(四)从零开始搭建游戏主体框架
思路已俨然清晰,接下来要做的是从零开始搭建游戏的主体框架.Silverlight作为RIA界的新宠儿,不仅在游戏开发方面性能优越,在企业开发领域的优异表现同样日益显著.像我们这些长期从事.NET开发的 ...
- python vector 初始化_从零开始搭建机器学习算法框架(python)--计算框架
介绍 今天开始一个新的系列,这个系列的目标是用python在不使用任何第三方库的情况下去实现各类机器学习或者深度学习的算法.之所以会有这种想法是因为每当我想提高编程技巧的时候,我总希望能够做一些简单又 ...
- 如何搭建App自动化测试框架?
目录 前言 安装Java JDK 安装Node.js 安装Appium server 第一种:使用npm工具 第二种:安装desktop版本 配置环境变量 安装Android SDK 下载SDK及安装 ...
- 【万字长文】2022年最全的搭建Web自动化测试框架教程
测试框架的设计有两种思路,一种是自底向上,从脚本逐步演变完善成框架,这种适合新手了解框架的演变过程.另一种则是自顶向下,直接设计框架结构和选取各种问题的解决方案,这种适合有较多框架事件经验的人.本章和 ...
- 从0开始搭建Web自动化测试框架
前言: 测试框架的设计有两种思路,一种是自底向上,从脚本逐步演变完善成框架,这种适合新手了解框架的演变过程.另一种则是自顶向下,直接设计框架结构和选取各种问题的解决方案,这种适合有较多框架事件经验的人 ...
- Python 从无到有搭建WebUI自动化测试框架
目录 前言 1.Python库选择 2.分层设计 3.基础类 浏览器 页面操作 4.公共类 获取框架项目目录的绝对路径 编辑 读取excel用例 读取config配置 核心处理工厂 ddt驱动代码 ...
- ui自动化测试框架_数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索
谢谢打开这篇文章的每个你 关注我们 点击右上角 ··· 设为星标 UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo ...
最新文章
- 20172304 《程序设计与数据结构》第四周学习总结
- IoT -- (八)MQTT优缺点
- 计算机科学,大一学生怎样来爱你(文PPT)
- linux jupyter 远程,Linux下远程访问Jupyter Notebook 配置
- python手动垃圾回收_Python3学习笔记,F,垃圾,回收
- MS08067 知识星球 “网络安全应急响应训练班”,限时免费加入~
- 三线压力传感器原理_压力传感器 压力传感器原理
- 使用镜像服务站下载CentOS安装包
- 聚美优品启动上市,真的那么赚钱吗?
- BootDo框架中使用bootstrap设置多个按钮的下拉按钮
- Nginx 简介和安装
- python批量读取文件名_Python实现文件名批量处理
- 使用shUnit2进行shell scritp自动化测试
- STM32理论 —— 看门狗
- java 中文转成_Java将中文转换成unicode字符。
- 申请单---申请人--审批人不同的入口
- LIPS: LiDAR-Inertial 3D Plane SLAM
- 谈谈开发者眼中的编程语言是怎样的?
- 来自腾讯的76款开源项目
- linux sed命令,如何替换换行符“\n”
热门文章
- easyconnect(mac版)总是初始化问题
- Python 发出警报声音 简单播放声音 beep 在linux 上
- 阿里巴巴达摩院:自然语言处理技术有哪些进展和趋势?
- 怎么在计算机修复flash,请修复adobe flash player 提示反复出现的最佳解决方法
- mysql数据库的超级管理员名称_MySQL数据库的超级管理员名称是______
- 迷惘一代、沉默一代、X世代、Z世代……美国的几代人
- Rhino4.0软件安装教程
- MGV2000_S905L系列_线刷_通刷固件
- Evasion Attack in Adversarial Machine Learning
- python实现电子邮件编程