前言

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

1、理解什么是接口

接口一般来说有两种:一种是程序内部的接口,一种是系统对外的接口

系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。

2、常见的接口

1)webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;

2)http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;

3、requests接口自动化基本流程

requests 是一个用于发送 HTTP 请求的 Python 库,它非常适合用于接口测试。以下是如何使用 requests 进行接口测试的基本步骤:

1)安装 requests:

如果你还没有安装 requests,可以使用 pip 进行安装:

pip install requests

2)发送 GET 请求:

  1. import requests

  2. response = requests.get('https://api.example.com/data') print(response.text)

3)发送 POST 请求:

import requests    data = {      'key1': 'value1',      'key2': 'value2'  }    response = requests.post('https://api.example.com/data', data=data)  print(response.text)

4)处理 JSON 数据:

如果 API 返回 JSON 数据,你可以使用 response.json() 方法将其解析为 Python 对象:

response = requests.get('https://api.example.com/data')  data = response.json()  print(data)

5)检查响应状态码:

你可以检查 HTTP 响应的状态码以确保请求成功:​​​​​​​

if response.status_code == 200:      print("请求成功")  else:      print(f"请求失败,状态码:{response.status_code}")

6)添加请求头:

如果需要添加自定义的请求头,如 Authorization,可以这样做:​​​​​​​

headers = {      'Authorization': 'Bearer YOUR_TOKEN'  }  
response = requests.get('https://api.example.com/data', headers=headers)

7)错误处理:

如果请求失败,requests 会抛出一个异常。你可以使用 try-except 结构来处理这些异常:​​​​​​​

try:      response = requests.get('https://api.example.com/data')      response.raise_for_status()  # 如果不是 2xx 响应,会抛出 HTTPError 异常  except requests.exceptions.HTTPError as errh:      print ("Http Error:",errh)  except requests.exceptions.ConnectionError as errc:      print ("Error Connecting:",errc)   except requests.exceptions.Timeout as errt:      print ("Timeout Error:",errt)  except requests.exceptions.RequestException as err:      print ("Something Else:",err)

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统操作编程——http

万维网www万维网是一个大规模的、联机式的信息储藏所 ,实现从一个站点链接到另一个站点万维网服务器后台标记万维网数据方式:url:统一资源定位符万维网客户端与万维网服务器的通信方式:HTTP:超文本传输协议万维网客户端…

Langchian-chatchat私有化部署和踩坑问题以及解决方案[v0.3.1]

文章目录一 langchain-chatchat项目二 本地私有部署2.1 源码下载2.2 创建虚拟环境2.3 安装Poetry2.4 安装项目依赖2.5 初始化项目2.6 修改配置信息2.7 初始化知识库2.8 启动服务三 问题和解决方法3.1 poetry和packaging版本兼容性3.2 Langchain-chatchatPDF加载错误分析[win平台…

Day3--HOT100--42. 接雨水,3. 无重复字符的最长子串,438. 找到字符串中所有字母异位词

Day3–HOT100–42. 接雨水,3. 无重复字符的最长子串,438. 找到字符串中所有字母异位词 每日刷题系列。今天的题目是力扣HOT100题单。 双指针和滑动窗口题目。其中438题踩了坑,很值得看一下。 42. 接雨水 思路: 每个位置i&#x…

Kafka Broker 核心原理全解析:存储、高可用与数据同步

Kafka Broker 核心原理全解析:存储、高可用与数据同步 思维导图正文:Kafka Broker 核心原理深度剖析 Kafka 作为高性能的分布式消息队列,其 Broker 节点的设计是支撑高吞吐、高可用的核心。本文将从存储结构、消息清理、高可用选举、数据同步…

RTTR反射机制示例

1. Person类型头文件 #ifndef PERSON_H …

计数组合学7.21(有界部分大小的平面分拆)

7.21 有界部分大小的平面分拆 本节的主要目标是在 q1q 1q1 的情况下细化定理 7.20.1,通过限制平面分拆 π∈P(r,c)\pi \in P(r, c)π∈P(r,c) 的最大部分的大小。例如,考虑特殊情况 r1r 1r1,此时 π\piπ 只是一个不超过 ccc 个部分的普通分…

Product Hunt 每日热榜 | 2025-08-26

1. Trace 标语:人类与人工智能的工作流程自动化 👾 介绍:一个工作流程自动化平台,将任务分配给合适的处理者——无论是人类还是人工智能。通过连接像Slack、Jira和Notion这样的工具,Trace能够拆解现有工作流程&#…

llama.cpp reranking源码分析

大模型时代,reranker一直是提高RAG有效性的重要工具。相对于初筛阶段向量检索,精排阶段的reranker需要query和每个候选document做相关计算。初筛已经将候选documents限制在一个相对较小范围,但依然要进行大量的相关性计算。 llama.cpp是广泛…

ruoyi-vue(十二)——定时任务,缓存监控,服务监控以及系统接口

一 定时任务 1、 定时任务使用 1.1 概述 在实际项目开发中Web应用有一类不可缺少的,那就是定时任务。 定时任务的场景可以说非常广泛,比如某些视频网站,购买会员后,每天会给会员送成长值,每月会给会员送一些电影券&…

spring如何通过实现BeanPostProcessor接口计算并打印每一个bean的加载耗时

文章目录实现说明:注意事项:要在Spring中通过BeanPostProcessor接口计算并打印每个Bean的加载耗时,我们可以利用该接口的两个回调方法记录Bean初始化前后的时间戳,然后计算时间差。 以下是实现方案: 首先创建一个实现B…

“品种+创新销售”,恩威医药半年度业绩翻倍增长

8月25日晚,恩威医药发布2025年半年度报告,报告期内,公司实现营业收入4.49亿元,同比增长15.73%,归属于上市公司股东净利润达3834.42万元,同比增幅113.80%,扣除非经常性损益净利润为3527.57万元&a…

【机器学习】机器学习算法

机器学习1、K-近邻算法KNN1.1、举例:电影类型分析1.2、KNN算法流程1.3、Scikit-learn工具1.4、K-近邻算法API1.5、距离度量1.5.1、欧式距离Euclidean Distance🔥1.5.2、曼哈顿距离Manhattan Distance🔥1.5.3、切比雪夫距离Chebyshev Distance…

python-批量安装库

要将当前环境中已安装的Python库列表导出为一个可重用的格式(通常为requirements.txt),以便在另一个环境中再现这些库的安装,可以使用pip工具提供的功能。以下是具体步骤:### 使用pip freeze1. **打开命令提示符或终端…

创龙3576ububuntu系统设置静态IP方法

创龙3576ububuntu系统设置静态IP方法,执行命令进入"/etc/systemd/network/"目录,请根据实际网络环境,下面演示修改 eth0.network 网口静态ip为192.168.1337.200执行:vim /etc/systemd/network/eth0.network 增加一句&am…

MySQL - 视图,事务和索引

目录一、视图1. 问题2. 视图是什么3. 定义视图4. 查看视图5. 使用视图6. 删除视图7. 视图的作用二、事务1. 定义2. 事务命令1)回滚2)提交3)脏写、脏读、不可重复读和幻读三、索引1. 定义2. 索引是什么3. 索引目的4. 索引原理5. 索引的使用6. …

车载铁框矫平机:把“钣金诊所”开到工地上

——一次从原子层面开始的平整之旅一、先想一想:铁框为什么“脾气大” 钢板在轧制、切割、焊接、吊装、甚至太阳暴晒时,内部晶粒被拉得七扭八歪,像揉皱的纸。宏观上,我们就看到“翘、拱、扭”。矫平,实质上是给金属做一…

不安全的服务器,不支持 FTP over TLS

当服务器不支持 FTP over TLS(也称为 FTPS)时,意味着它仅支持未加密的 FTP 连接。这种情况存在显著的安全风险,因为:数据传输不加密:用户名、密码以及传输的文件内容都会以明文形式在网络中传输&#xff0c…

本地缓存与 Redis 缓存的区别与实际应用

缓存是提升系统性能、降低数据库压力的重要手段。Java 开发中常用的缓存方案包括 ​本地缓存(如 Caffeine、Guava Cache)​​ 和 ​分布式缓存(如 Redis)​。这两者在设计目标、使用场景、性能特点等方面有显著差异,合…

从“0”开始学JAVA——第十一节 I/O流

在Java编程中&#xff0c;文件操作和输入输出(IO)处理是必不可少的部分。本文将深入探讨Java IO包中的文件流操作&#xff0c;包括基础概念、分类、常用类以及实际应用场景。1. File类File类是Java IO操作的基础&#xff0c;它实现了Serializable和Comparable<File>接口。…

【数据价值化】数据资产入表指南:核心准则与实操路径

随着数据要素市场的蓬勃发展&#xff0c;数据资产的商业价值愈发凸显。然而&#xff0c;如何让数据资产合规、合理地进入企业财务报表&#xff0c;成为众多企业急需解决的难题。本文基于《企业会计准则》的相关规定&#xff0c;为您系统梳理数据资产入表的核心准则要点与实操路…