接口自动化测试是个啥?如何开始?什么是框架?带你揭开神秘面纱

2023-12-16

自动化测试
自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的趋势。

特别是在敏捷模式下,产品迭代速度快,市场不断调整,客户需求不断变化,单纯的手工测试越来越无法适应整个变化过程(迭代快,加班多)。测试人员如何快速响应并保证产品在上线后的质量能够满足市场要求(如何在上线一个新功能的同时快速对旧功能快速进行回归,保证旧功能不被新功能影响而出现严重的Bug?)。

针对以上问题,采用自动化测试无疑是一个不错的选择,能够做到在保证产品质量的同时提升测试效率。

随着行业内卷越来越严重,对于测试岗位的要求也是水涨船高,岗位招聘要求都会出现自动化测试的字眼,因此也是我们跳槽面试、升职加薪必备利器。

自动化测试又可分为接口自动化、Web UI自动化、App自动化,今天我们就来聊聊接口自动化测试。

接口自动化测试的价值

相比于UI自动化测试,接口自动化的维护成本更低,主要体现在以下几个方面在分层测试金字塔模型中,接口测试属于第二层服务集成测试,与UI自动化测试相比,接口自动化测试收益更大、更容易实现、维护成本更低,有更高的投入产出比,因此是公司开展自动化测试的首选。前端页面变化快,而且UI自动化比较耗时,比如等待页面元素加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间,因此UI自动化实施起来比较困难。接口较稳定,接口的响应时间基本上都是秒级、毫秒级别,速度快,并且接口自动化本身也可以做一些有关联的操作、全流程的操作,比如:注册 --> 登录 --> 修改个人信息。
测试复用性
快速回归(提高回归的覆盖率、效率、稳定性)
可以运行更多更繁琐的测试,自动化的一个明显的好处是可以在较少的时间内运行更多的测试
接口自动化测试如何开展
工具选择
Python/Java + Requests + Unittest/Pytest + HTMLTestRunner/Allure
RobotFramework:关键词驱动的自动测试框架
基于Web的自动化测试平台(公司自主研发,成本较高,方便不懂编程也能使用)
自动化测试工具有很多,每种工具都有各自的优缺点,选择适合自身实际情况的框架,落地实施才是重点,具体选择哪种工具放在其他文章再说。

这里使用Python + Requests + Pytest + Allure

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:822269834【暗号:csdn999】

举个栗子

接口文档(找了一个开放的接口用于测试)

接口信息:

1234567名称:全国高校信息查询接口
描述:用于查询全国高校信息
Host: www.iamwawa.cn
Request URL:/home/daxue/ajax
Request Method:POST
Content-Type: application/x-www-form-urlencoded
headers:user-agent:Chrome

参数:

名称

类型

是否必填

描述

type

String

name,根据名称查询

keyword

String

高校名称,如:四川轻化工大学

请求示例:

12345678POST /home/daxue/ajax HTTP/1.1
Host: www.iamwawa.cn
user-agent: Chrome
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=sjsrn0drje6ds5fq9kouoo2r23
Content-Length: 54
 
type=name&keyword=四川轻化工大学

响应示例:

123456789101112131415{
    "status": 1,
    "info": "查询成功!",
    "data": [
        {
            "id": "2181",
            "name": "四川轻化工大学",
            "code": "4151010622",
            "department": "四川省",
            "city": "自贡市",
            "level": "本科",
            "remark": ""
        }
    ]
}

线性脚本

123456789import requests
 
res = requests.post(url="https://www.iamwawa.cn/home/daxue/ajax",
                    headers={"user-agent": "Chrome"},
                    data={"type": "name", "keyword": "四川轻化工大学"})
assert res.status_code == 200
res_json = res.json()
print(res_json)
assert res_json["status"] == 1

使用以上代码,最基础最简单的接口测试就做起来了,好的开始就是成功的一半。

但是,问题也随之而来,线性脚本的缺点也暴露出来了:

测试的输入和断言都是捆绑在脚本中,易读性差
无共享或重用脚本,可复用性低
线性脚本修改代价大,维护成本高,不便于后期优化
容易受软件变化的影响,容易受意外事件的影响,引起整个测试失败
所以,下一步就是如何优化线性脚本,也就是如何实现代码的高内聚低耦合,也是接口自动化测试框架要解决的问题。

接口自动化测试框架

base_api.py:对接口测试框架Requests进行二次封装,完成对api的驱动
api:继承base_api,将http请求接口封装成Python方法
utils:CommonUtil,公共模块,将一些公共函数、方法以及通用操作进行封装,如:日志模块、yaml操作模块、时间模块
config:配置文件模块,配置信息存放,如:URL、Port、Headers、Token、数据库信息等
data:测试数据模块,用于测试数据的管理,数据与脚本分离,降低维护成本,提高可移植性,如:yml文件数据
cases:测试用例模块,用于测试用例的管理,这里会用到单元测试框架,如:Pytest、Unittest
run.py:批量执行测试用例的主程序,根据不同需求不同场景进行组装,遵循框架的灵活性和扩展性
logs:日志模块,用于记录和管理日志,针对不同情况,设置不同的日志级别,方便定位问题
reports:测试报告模块,用于测试报告的生成和管理,如:基于Allure生成的定制化报告
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

接口自动化测试是个啥?如何开始?什么是框架?带你揭开神秘面纱 的相关文章

  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 测开和测试平台是否有存在的必要?

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

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

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • iPhone成中国市场2023年最畅销手机,但国产手机已雄起

    苹果首次夺下国内手机市场年度第一名 iPhone成中国市场最畅销的手机 这个话题突然热起来 其实iPhone一直都是中国市场最畅销的手机啊 不过2023年Q4显示出国产手机已经雄起啦 苹果在2023年首次夺下中国手机市场年度第一名 这对苹果
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • FL Studio21.2.2官方中文版重磅发布

    FL Studio 21 2 2官方中文版重磅发布纯正简体中文支持 更快捷的音频剪辑及素材管理器 多样主题随心换 Mac版新增对苹果M2 1家族芯片原生支持 DAW界萌神 极富二次元造型的水果娘FL chan通过FL插件Fruity Dan
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

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

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • 外包干了3个月,技术退步明显。。。。。

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

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • 华为OD机试真题-精准核酸检测-2023年OD统一考试(C卷)

    题目描述 为了达到新冠疫情精准防控的需要 为了避免全员核酸检测带来的浪费 需要精准圈定可能被感染的人群 现在根据传染病流调以及大数据分析 得到了每个人之间在时间 空间上是否存在轨迹的交叉 现在给定一组确诊人员编号 X1 X2 X3 Xn 在
  • vds_ps.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个vds ps
  • 华为OD机试真题-游戏分组-2023年OD统一考试(C卷)

    题目描述 部门准备举办一场王者荣耀表演赛 有10名游戏爱好者参与 分为两队 每队5人 每位参与者都有一个评分 代表着他的游戏水平 为了表演赛尽可能精彩 我们需要把10名参赛者分为实力尽量相近的两队 一队的实力可以表示为这一队5名队员的评分总
  • 计算机SSM毕设选题 SSM的运动物品交易商城

    项目背景 随着现在网络的快速发展 网上管理系统也逐渐快速发展起来 网上管理模式很快融入到了许多商城的之中 随之就产生了 运动品交易商城 这样就让运动品交易商城更加方便简单 对于本运动品交易商城的设计来说 系统开发主要是采用java语言技术
  • 北方华创2024届秋招/校招内推信息/内推码

    公司名称 北方华创 内推码 IS1M9B 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https career naura com campus
  • Python自动化:从入门到精通

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 合芯科技2024届秋招/校招内推信息/内推码

    公司名称 合芯科技 内推码 NTAMqWV 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https app mokahr com campus recruitment hexin tech 54134
  • 打造一个可视化接口自动化测试系统

    现如今 接口开发几乎成为一个互联网公司的标配了 无论是web还是app 哪怕是小程序 都离不开接口作为支撑 当然 这里的接口范围很广 从http到websocket 再到rpc 只要能实现数据通信的都可以称之为接口 面临着如此庞大的接口数据
  • vdmdbg.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个vdmdbg
  • 计算机SSM毕设选题 企业销售人才培训管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 系统操作流程
  • python自动化测试框架pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 华为OD机试真题-抢7游戏-2023年OD统一考试(C卷)

    题目描述 A B两个人玩抢7游戏 游戏规则为A先报一个起始数字X 10 lt 起始数字 lt 10000 B报下一个数字Y X Y lt 3 A再报一个数字Z Y Z lt 3 以此类推 直到其中一个抢到7 抢到7即为胜者 在B赢得比赛的情
  • upnphost.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个upnphos
  • python+requests+pytest+allure自动化框架

    1 核心库 requests request请求 openpyxl excel文件操作 loggin 日志 smtplib 发送邮件 configparser unittest mock mock服务 2 目录结构 base utils t
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 华为OD机试真题-找朋友-2023年OD统一考试(C卷)

    题目描述 在学校中 N个小朋友站成一队 第i个小朋友的身高为height i 第i个小朋友可以看到的第一个比自己身高更高的小朋友j 那么j是i的好朋友 要求j gt i 请重新生成一个列表 对应位置的输出是每个小朋友的好朋友位置 如果没有看
  • 测试人经验谈:需求不明确也能写出测试用例

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 5k次 点赞69次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 计算机SSM毕设选题 SSM的在线医疗服务系统的设计与实现

    开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Maven项目 是 目
  • java——网络编程

    1 网络编程 理解 1 网络编程 用Java语言实现计算机间数据的信息传递和资源共享 2 网络编程模型 3 网络编程的三要素 A IP地址 a 点分十进制 b IP地址的组成 c IP地址的分类 d dos命令 e InetAddress
  • 接口自动化测试是个啥?如何开始?什么是框架?带你揭开神秘面纱

    自动化测试 自动化测试 这几年行业内的热词 也是测试人员进阶的必备技能 更是软件测试未来发展的趋势 特别是在敏捷模式下 产品迭代速度快 市场不断调整 客户需求不断变化 单纯的手工测试越来越无法适应整个变化过程 迭代快 加班多 测试人员如何快