3分钟带你入门接口自动化测试(建议收藏)

news2024/11/14 15:09:22

接口测试简介
1) 什么是接口测试
开始学习接口自动化测试之前,我们先要来了解什么是接口,以及什么是接口测试。

我们都知道,测试从级别上划分可以分为

   ◆  组件测试

   ◆  集成测试

   ◆  系统测试

   ◆  验收测试

其中在集成测试这个阶段,一个最主要的测试活动就是接口测试。

在组件测试中,我们对单个组件自身的功能性能等指标进行验证,上升到集成测试级别,我们则进一步去验证组件之间的交互和集成,而组件之间的交互,就是通过"接口"来达成的。

所以一定程度上,集成测试和接口测试概念是大幅度重叠的。(就组件集成/接口测试而言,其实还有系统集成测试)

比如在主流的web项目中,前端和后端之间的交互,就要通过接口,也是我们这个系列要应对的主要任务。

2)为什么要做接口测试
我经常喜欢用一台汽车做为例子来讲述组件,集成和系统测试之间的关系。

比如,现在有一台汽车需要做质量检测,那么我们可以怎么测试?

 ◆  组件测试→测试这台汽车的各个部件(如发动机、底盘、变速箱、制动器、转向系统、轮毂轮胎)

 ◆  集成测试→测试这台汽车各部件之间的联动(变速箱如何控制发动机的运作?转向系统如何对轮毂产生影响?)

 ◆  系统测试→ 测试这台汽车做为一个整体的功能性能

有一个疑问是,难道我在系统测试这个级别,就不能测试上述例子中的“变速箱如何控制发动机的运作”指标吗?

其实一定程度而言是可以的,这也是为什么在过去一段时间内,其实大量的测试人员是被堆积在系统测试级别的。

但随着我们的行业越来越发展,测试理念越来越先进,测试人员的技能储备也更加丰富,现在的IT项目中已经越来越重视测试的左移和测试的深度。

接口测试在笔者看来,其最大的好处莫过于如下两点:

1、可以尽早的让测试介入项目,更早的发现和解决问题。比如在整体系统还未开发完毕时,部分接口其实已经可供测试了。

2、可以从更底层的角度进行测试,从而弥补系统测试级别容易忽略和难以触发的一些测试。

完备的接口测试可以给项目质量带来远超系统测试的收益,参考测试金字塔理论:

 3) HTTP请求的类别

本系列会主要应对是http类型的接口测试

我们先通过一个表格来列举出8种http请求的类别定义,具体请求方法的实际应用我们在后续的自动化实例中再进一步探讨

在实际工作中,最常见的是GET以及POST方法。

2接口自动化工具准备

1)必备工具
要搭建http接口测试环境,我们需要以下的东西:

 ◆  JDK:推荐使用1.8

 ◆  集成开发环境:这里我们使用eclipse

 ◆  自动化构建管理:Maven

 ◆  其他相应的依赖包我们通过maven管理

2)JDK的安装
JDK的下载安装和环境变量配置网上有大量教程,本文不再赘述

3)Eclipse的安装
eclipse的安装也非常简单,本文不再赘述

4)Maven的安装
Maven的下载安装和环境变量配置网上有大量教程,本文不再赘述

以上不再赘述的部分如果遇到问题,可以加开开老师微信:1397658968

3接口自动化项目

在eclipse中新建一个maven项目MavenAPIProject,打开项目自带的pom.xml文件,加入以下依赖信息:

 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.2</version>
    </dependency> 
    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.4.4</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.testng/testng -->
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.8</version>
        <scope>test</scope>
    </dependency>

修改完毕后保存,就可以看到eclipse会在后台开始去自动下载并添加以上所有项目依赖的jar包。

我们现在主要引入的是httpclient、httpcore以及testNG三个依赖包:

 ◆  httpclient是一个高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,我们用它来创建和管理请求;

 ◆  HttpCore是对HTTP协议的基础封装的一套组件,我们测试接口过程中会用到其中的底层网络方法;

 ◆  testNG是一套单元测试框架,为我们提供测试入口和测试组织,后续如果用到其他依赖包我们再去添加。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/536178.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3系列——computed、watch

目录 Computed watch 侦听单个数据 侦听多个数据 immediate deep 精确侦听对象的某个属性 Computed 计算属性computed是依赖于使用它的数据&#xff0c;当数据发生变化时&#xff0c;自定义方法重新调用执行一次计算属性&#xff0c;监测的是依赖值&#xff0c;依赖值不…

GPT专业应用:生成会议通知

正文共 917 字&#xff0c;阅读大约需要 3 分钟 公务员/文秘必备技巧&#xff0c;您将在3分钟后获得以下超能力&#xff1a; 快速生成会议通知 Beezy评级 &#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图…

Qt6之万能数据类型QVariant详解

QVariant&#xff0c;被称为万能数据类型&#xff0c;实际上它是类似C的联合union类型。简单的说自定义性能强就像一个盒子几乎可以让你放任意的qt类型&#xff0c;同时可以轻松构造任意类型的任意复杂数据结构&#xff0c;但请注意复杂类型意味着性能和效率的让步。 qt6在文档…

好的CRM系统拥有哪些功能

随着客户对企业的重要性越来越高&#xff0c;他们需要一款好用的CRM系统来帮助他们管理客户、销售管道和营销活动。那么国内目前比较好的CRM系统有哪些&#xff1f;下面我们来详细说一下。 国内有很多知名的CRM系统&#xff0c;从本土品牌到国际厂商都有。选择 CRM以高性价比、…

永久免费域名PP.UA最新注册指南

PP.UA是乌克兰个人的域名&#xff0c;支持CF托管&#xff0c;可用于建站或者个人代理用&#xff0c;其永久免费&#xff08;每年续期即可&#xff09;。不过网上关于这个免费域名的申请教程已经全部过期了&#xff0c;多数都是2021年的&#xff0c;本次我来做一个最新的可用教程…

【Redis】Redis 命令之 String

文章目录 ⛄String 介绍⛄命令⛄对应 RedisTemplate API⛄应用场景 ⛄String 介绍 String 类型&#xff0c;也就是字符串类型&#xff0c;是Redis中最简单的存储类型。 其value是字符串&#xff0c;不过根据字符串的格式不同&#xff0c;又可以分为3类&#xff1a; ● string&…

flutter系列之:使用AnimationController来控制动画效果

文章目录 简介构建一个要动画的widget让图像动起来总结 简介 之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果&#xff0c;但是要完全实现自定义的复杂的动画效果&#xff0c;还是要使用AnimationController。 今天我…

H桥电机驱动芯片CS9029C可pin对pin兼容DRV8841

CS9029C为打印机和其它电机一体化应用提供一种双通道集成电机驱动方案。CS9029C有两路H桥驱动&#xff0c;最大输出2.5A&#xff0c;可驱动两路刷式直流电机&#xff0c;或者一路双极步进电机&#xff0c;或者螺线管或者其它感性负载。双极步进电机可以以整步、2细分、4细分运行…

未来源码|Dart 3正式发布:100%健全的空值安全、迄今为止最大版本

推荐语&#xff1a; 自从 Flutter Forword 发布了 Dart 3α 预览 之后&#xff0c;大家对 Dart 3 的正式发布就一直翘首以待&#xff0c;这不仅仅是 Dart 版本号追上了 Flutter 版本号&#xff0c;更是 Dart 在 2.0 之后迎来的最大一次更新。Dart 3将只支持健全的Null安全&am…

微信小程序等待wx.requestPayment的回调函数执行完后再执行后续代码

async/await & Promise的再认识 背景 在开发微信小程序过程中&#xff0c;遇到如下需求&#xff1a; 需要等待wx.requestPayment的回调函数执行完后再执行后续代码 这是因为在调用wx.requestPayment之后&#xff0c;会弹出一个支付弹窗&#xff0c;如果此时点击右上角的…

从ChatGPT到大模型

AIGC AIGC1. 关于ChatGPT2. 关于大模型模型即服务。现在大模型的两种&#xff1a;大模型发展趋势&#xff1a;大模型作用&#xff1a;大模型核心&#xff1a; 3. 要复现一个ChatGPT需要的资源支持&#xff1f;4. ChatGPT的局限性5. 类ChatGPT 未来的发展ChatGPT 体现的通用性&…

Java从高德地图获取全国地铁站数据

Java从高德地图获取全国地铁站数据。 数据来源&#xff08;高德地图&#xff09;&#xff1a;http://map.amap.com/subway/index.html?&4401 采集代码 /*** 从高德地图地铁线路同步全国地铁站数据&#xff08;非必要不调用&#xff09;* 数据来源&#xff1a;http://ma…

【电厂用 JL-8D/3X2定时限电流继电器 复合继电器 功耗低 JOSEF约瑟】

JL-8D/3X2定时限电流继电器名称;定时限电流继电器型号:JL-8D/3X2触点容量250V5A功率消耗&#xff1c;5W返回系数0.90.97整定范围0.039.9A;0.130A辅助电源24220VDC/AC 系列型号&#xff1a; JL-8D/3X1定时限电流继电器&#xff1b; JL-8D/3X111A2定时限电流继电器&#xff1b…

深度操作系统 deepin V23 Beta 发布

深度操作系统 deepin V23 发布了首个 Beta 版本。 公告写道&#xff0c;它是 V23 Alpha 版本的一次升级&#xff0c;但不建议用于生产环境。作为一个专注于用户体验的系统&#xff0c;Deepin v23 beta 版本引入了许多新的特性&#xff0c;包括 DDE 新变化、终端、跨版本升级以…

Agilent安捷伦33522B任意波形发生器

Agilent安捷伦33522B任意波形发生器30兆赫 2通道 为您最苛刻的测量生成全方位信号的无与伦比的能力 具有 5 倍低谐波失真的正弦波&#xff0c;可提供更纯净的信号 脉冲频率高达 30 MHz&#xff0c;抖动减少 10 倍&#xff0c;可实现更精确的计时 具有排序功能的逐点任意波形功能…

Notepad++ 添加自定义右键菜单项

目录 1. 背景 020.添加右键菜单项 - “打开至” 030.添加右键菜单项 - “复制到剪切板” 效果图&#xff1a; 1. 背景 笔记本上使用Notepad&#xff0c;会因为存在标签栏&#xff0c;导致窗口能显示的行数减少。 去除标签栏后&#xff0c;又无法操作一些右键菜单。 转而开…

掌握企业核心:工商详细信息API 60多项全维度信息解读

引言 在当今竞争激烈的商业环境中&#xff0c;了解和评估企业的工商注册信息变得至关重要。无论是与供应商合作、寻找合作伙伴&#xff0c;还是进行市场调研和背景调查&#xff0c;我们都需要准确和全面的企业工商信息来做出明智的决策。但是&#xff0c;获取这些信息往往是一…

SpringBoot的常见配置

SpringBoot基础配置 1. 配置文件格式问题导入1.1 修改服务器端口1.2 自动提示功能消失解决方案1.3 SpringBoot配置文件加载顺序 2. yaml问题导入2.1 yaml语法规则2.2 yaml数组数据2.3 yaml数据读取 3. 多环境开发配置问题导入3.1 多环境启动配置3.2 多环境启动命令格式3.3 多环…

CloudCompare二次开发之如何通过PCL进行点云分割?

文章目录 0.引言1.CloudCompare界面设计配准(segment)按钮2.欧式聚类分割&#xff08;Euclidean_Seg&#xff09;3.基于区域生长的分割&#xff08;Region_Seg&#xff09; 0.引言 因笔者课题涉及点云处理&#xff0c;需要通过PCL进行点云数据一系列处理分析&#xff0c;查阅现…

【漏洞预警】泛微E-Cology ofsLogin任意用户登陆漏洞

泛微ofsLogin任意用户登陆漏洞 漏洞描述 泛微e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。 泛微e-cology前台任意用户登录漏洞&#xff1a;…