如何从零开始搭建公司自动化测试框架?

2023-11-05

搭建的自动化测试框架要包括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配置文件

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私服
  1. 持续集成方案

在这里插入图片描述

Jenkins是基于Java开发的一种开源、跨平台的持续集成工具。他能够持续自动构建/测试软件项目,实现监控定时执行的任务。

我们简单来说明一下jenkins的核心构建步骤。

1) 搭建Jenkins环境

在这里插入图片描述

 2) 创建任务之后设置源码管理

在这里插入图片描述

3) 输入构建命名

在这里插入图片描述 4)设置定时构建

在这里插入图片描述

5)设置测试报告路径

在这里插入图片描述

6)设置构建后发送邮件 

在这里插入图片描述

7)构建并查看结果

在这里插入图片描述

三、手把手教:如何搭建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 ) 引入日志

在这里插入图片描述 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

 

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从零开始搭建公司自动化测试框架? 的相关文章

  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • ​LeetCode解法汇总82. 删除排序链表中的重复元素 II

    目录链接 力扣编程题 解法汇总 分享 记录 CSDN博客 GitHub同步刷题项目 https github com September26 java algorithms 原题链接 力扣 LeetCode 描述 给定一个已排序的链表的头
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • HarmonyOS 基于eTS高效开发HarmonyOS课程类应用

    随着HarmonyOS 3 0 Beta版的发布 API Version 8新增了大批JS eTS API接口 相信很多开发者已经迫不及待想体验基于eTS的HamronyOS应用开发 本期Codelab 我们将基于API Version 8
  • Android Navigation的四大要点你都知道吗?

    在JetPack中有一个组件是Navigation 顾名思义它是一个页面导航组件 相对于其他的第三方导航 不同的是它是专门为Fragment的页面管理所设计的 它对于单个Activity的App来说非常有用 因为以一个Activity为架构
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 2024最强Java面试八股文合集(持续更新)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结

随机推荐

  • 关于edge浏览器的卡顿问题

    近日惠普电脑暗影精灵系列 edge浏览器出现卡顿不流畅问题 这属于惠普的一大特色 bug 解决方案 1 打开任务管理器 找到进程为omen 的 进行关闭 此时电脑edge问题就会得到解决 2 如果不想总是开机后 要关闭进程来解决问题 治标治
  • avalon ms-repeat avalon1

    工作原因要用到avalon二次开发 但是看了下以前的avalon版本是1 现在大多数都是2版本了吧 所以很多文档不好找 但是大多数还是好用的 ms repeat 循环当前赋值的 ms repeat 加载需要循环显示的子元素上 默认el ms
  • ftp工具无法连接到Linux服务器

    ftp工具无法连接Linux服务器 文件无法上传 是因为你的ftp服务器未搭建 或未启动 许久没有登录腾讯云 今天想用xshell的xftp工具上传文件 却突然出现连接不上 用22端口 可以正常登录并访问 但是ftp工具的21端口无法连上远
  • 万字长文解读计算机视觉中的注意力机制(附论文和代码链接)

    文中论文和代码已经整理 如果需要 点击下方公号关注 领取 持续传达瓜货 所向披靡的张大刀 注意力机制是机器学习中嵌入的一个网络结构 主要用来学习输入数据对输出数据贡献 注意力机制在NLP和CV中均有使用 本文从注意力机制的起源和演进开始 并
  • centos登录root账户

    su root 然后输入密码 回车
  • Element 入门教程

    Element 入门 Element 布局 业务 element 美化页面 表格 表单 对话框 表单 分页工具条 页面 Element 入门 官网 https element eleme cn zh CN 引入 Element 的 css
  • scala学习-scala读取Hbase表中数据并且做join连接查询

    1 业务需求 sparkSQL on hbase sparkSQL直接读取Hbase中的两个表 进行连接查询 2 图示 绿色的线 上图中绿色的线是做过测试的 直接在hive中建表 然后load数据进去 数据文件是存储在HDFS上的 1 建表
  • 【React】setState是同步的还是异步的?

    文章目录 异步情况下的setState 控制setState的同步和异步 setState 同步 异步总结 setState 的参数接收 异步情况下的setState import React Compontent from react c
  • Spring报错 conflicts with existing, non-compatible bean definition of same name and class

    如果出现这个错误可能有两种情况 1 那就是你的spring容器中确实注入了两个同名的对象 这个需要仔细检查自己的 Service Controller component是不是有相同的value值 或者xml文件中有两个一样的id 2 就是
  • 运行Adobe提示This non-genuine Adobe app has been disabled soon

    运行Adobe提示This non genuine Adobe app has been disabled soon这个问题 如何解决呢 小编为大家带来了详细的解决方案 一起来看看吧 分享一个临时处理可用的方法 需要用到的软件 Radio
  • 桌面下雪小程序 WIN32

    想起以前还没有上大学的时候 过圣诞节 有同学发了一个桌面下雪的小程序 当看到效果的 哇 当时觉得好高端 就想什么时候我也能写出这么一个程序 学了计算机之后 发现这完全可以实现 于是就准备写一个 当卡壳的时候在网上找资料 结果发现在网上找到的
  • HashMap为什么使用红黑树而不用普通的AVL树

    红黑树是一种平衡二叉树 要求从根到叶子的最长路径不会超过最短路径的2倍 AVL树是高度平衡的二叉树 左右子树树高不超过1 补充 AVL是Adelson Velskii和Landis树的缩写 是一种用于排序的二叉搜索树 一般用平衡因子判断是否
  • 操作生产库之前--你应该做什么

    操作生产库之前 你应该做什么 操作之前的数据库风险单 在操作生产库一般可能会出现无法预知的未知因素 这可能给数据库的操作带来意外的麻烦 这些都是在操作之前 应该考虑的 数据库操作者 操作开始时间 操作时间范围 预计工作时间的两倍半 可能出现
  • 为什么程序员一定要会用Google和Stack Overflow?

    内容简介 前言 为什么用Google不用百度 为什么用Stack Overflow 小结 前言 下文中 谷歌统一用Google表示 作为程序员 用Google比用百度更节省时间 此话不假 在法国工作也有4年了 加上之前的两个6个月的实习 勉
  • angularjs中post请求进行跨域

    post请求进行跨域 angularjs内置封装了类ajax的网络服务 http 所以实现了依赖外部插件来完成完整的前后端分离方案 scope main getData function http method POST url http
  • Git基于已有分支创建新的分支,简单的git 命令

    准备工作 进入要创建git分支项目目录 打开git命令行 1 基于已有分支代码创建新的分支 git checkout b new branch name origin source branch 2 将代码推送到新创建的git分支上 git
  • Qt Creator使用内存泄漏检测工具Valgrind

    Qt Creator使用内存泄漏检测工具Valgrind 随着软件变得越来越复杂 内存泄漏和野指针问题已经成为程序员最头痛的问题之一 幸运的是 现代IDE提供了许多工具来帮助我们解决这些问题 在这篇文章中 我们将介绍如何在Qt Creato
  • 单价数量和总价的公式_小学六年超全的数学公式!家长们赶紧给孩子看过来……...

    小学数学基础知识整理 一到六年级 小学一年级 初步认识加减法 学会基础加减 小学二年级 完善加减法 表内乘法 学会应用题 基础几何图形 小学三年级 学会万以内加减法 长度单位和质量单位 倍数的认知 多位数乘一位数 时间量及单位 长方形和正方
  • 租赁OLED透明屏:打造独特商业体验的智慧选择

    近年来 OLED透明屏技术在商业领域中迅速崛起 其高透明度和卓越的图像质量为商家创造了全新的展示方式 租赁OLED透明屏作为一种智慧选择 不仅能提升品牌形象和吸引力 还能创造与众不同的视觉体验 对此 尼伽将和大家一起深入探讨租赁OLED透明
  • 如何从零开始搭建公司自动化测试框架?

    搭建的自动化测试框架要包括API测试 UI测试 APP测试三类 以上三类其实可以简化为两类 那就是 1 接口自动化测试框架搭建 2 UI自动化测试框架搭建 没问题 安排 且是手把手教你如何搭建以上两类自动化测试框架 刷到这个问题的测试人员