极光小课堂|手把手教你做接口测试

接口测试如何测?最全的接口测试总结,资深测试老鸟整理... 1、接口测试的流程1)找后端拿接口文档2)写测试计划3)分析接口(确认接口之间的业务关系)4)写用例,评审用例5)执行用例去测试(自动化:根据用例编写脚本)6)结果分析7)bug提交8)修复后,回归测试2、一般的接口文档请求参数、返回参数、URL、请求方式3、接口用例包含用例标题,优先级,所属模块,资源路径,请求参数,请求方式,测试数据,预期结果(应该有结果),实际结果4、接口测试的关注、测试点接口测试汇总:参数测试、返回值验证、业务数据、接口之间、DB验证1)参数测试。 阅读详情

接口测试是项目测试过程中非常重要的一环,测试的对象是接口,所以提早介入测试,对代码逻辑进行全面验证,就会更早的发现程序的问题。同时,接口测试比UI测试效率更高,并且更容易验证极端和异常的情况。

那么什么是接口测试,以及如何在实际环境中进行接口测试呢?本文手把手教会你接口测试的逻辑和方法。

1.接口测试概念
1.1接口的定义
应用程序编程接口(API Application Programming Interface)是在不同进程,程序或系统之间的通信的代码.API通常基于客户机/服务器模型。有交互的地方都有接口。最常见的跨应用交互协议是HTTP + JSON,其次是网络服务。最常见的后台协议有thrift,dubbo及大量的私有协议。

1.2接口测试的定义
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。简答的说就是通过URL向服务器或者其他模块等,传输我们想传输的数据,然后看看它们返回的是不是我们预期想要的。

1.3接口测试的重要性
· 越底层发现错误,它的修复成本是越低的。
· 前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
· 检查系统的安全性,稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
· 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
· 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
· 现在很多系统前后端架构是分离的,从安全层面来说:(1),只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。(2)中,前后端传输,日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
总之接口测试是保证高复杂性系统质量的内在要求和低成本的经济利益的驱动作用下的最佳解决方案,接口测试是一个完整的体系,也包括功能测试,性能测试。

2.怎么做接口测试
2.1接口测试的准备工作
1)是否有接口文档?接口文档内容有哪些?
o 接口文档五要素:接口地址,接口请求的方式,是否有请求参数(参数相关属性),返回参数说明(参数相关属性),返回结果样例;
o 如果没有接口文档,到功能测试阶段,需要自己抓包,抓包工具如提琴手等。
2)明确接口测试流程。
o 主要的流程包括:接口文档 - 接口测试计划,方案 - 接口测试用例(评审) - 执行 - 集成到Jenkins - 接口反馈
3)分析每一个接口:标题,URL,参数(含义,可选/必选,格式,类型等等),响应数据来源及数据量。
4)分析实际可做接口测试的测试点。
o 单一接口功能的测试主要测试返回的数据结构是否和接口文档给出的一致;
o 接口的正常功能是否完成;
o 接口的参数检查测试,接口的异常测试;
o 多接口组合测试,实际上是在测试一个业务流;
o 在测试过程中一次调用多个接口。

2.2编写测试用例
编写一个覆盖率全面的用例,我们可以考虑以下的测试点:
在这里插入图片描述
一般我们能把上面的测试点都覆盖了,用例就差不多了。

2.3接口测试过程
根据开发人员提供的接口访问地址,入参格式,请求格式,进行接口请求数据拼接,并查看返回结果及返回报文,响应时间,检查返回的Json内容是否符合接口定义规范,是否符合预期的返回结果。

· 总的来说可以划分为三个部分:
o 发起接口请求(请求)
o 解析接口响应(响应)
o 检查接口测试结果(确认)

2.4接口测试方法
如何通过接口向服务器发送请求数据,并接收返回的数据呢一般我们用以下的测试工具?
· WebService的接口:是用皂协议包装后用HTTP运输,请求报文和返回报文都是XML格式的,我们在测试的时候都用通过工具才能进行调用,测试可以使用的工具有了SoapUI, JMeter的,LoadRunner的等。****
· Http api接口:直接用http协议运输,通过路径来区分调用的方法,请求报文都是键值形式的,返回报文一般都是json串,有得和后等方法,这也是最常用的两种请求方式。可以使用的工具有邮差,RESTClient实现,的JMeter,LoadRunner的等。

。当然我们也可以自编接口测试脚本在测试脚本过程中,应注意:

· 不断调试脚本;
· 添加逻辑控制,对脚本内的数据进行参数化(包括:前置条件,测试步骤及测试数据);
· 添加用例里的预期结果。
最后,执行测试和脚本,并对执行结果进行分析包括:错误分析,响应结果分析,响应时间分析等等。

3.自动化
3.1自动化框架选择
市面上有许多接口自动化的框架,我们这次讲的是我所用的一套接口自动化框架。

python+requests+robotframework

选取robotframework主要原因是:
· 使用关键字的机制,更容易上手
· 提供了RIDE,对于不熟悉编码的人来说比较友好
· 能够精细的控制关键字的范围
· 日志和报告非常好
· 使用变量文件的机制来描述不同的环境
· 丰富的关键字库
· 内置变量

3.2框架搭建
蟒蛇和请求库的安装在此就不累赘了,我们介绍robotframework的安装,由于最近RIDE1.7.3的版本改进,RIDE这个版本对高版本的wxPython的兼容很好,python3.6及以上版本都可以顺利运行。RIDE所以我们可以采用在线安装robotframework:

 pip install robotframework #在线安装RF,安装好了输入robot命令验证一下,结果报错显示缺少参数则说明安装成功
  pip install robotframework-ride #在线安装RIDE,相关wxpython等相关依赖会自行安装的,安装成功后在python安装目录下Scripts目录里面有一个ride.py文件,双击运行它,如下: 

在这里插入图片描述
这样我们就把框架搭建好了。

3.3方法的封装
由于不同公司,不同开发者的接口规范不一样,所以我们一般会用蟒二次封装一些常用方法,使之更适合我们请求接口,获取返回值;方便后续再robotframework上编写自动化测试用例常见的二次封装有如下例子:
· 请求方法和返回数据的封装,可以参考以下代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方法的封装,可以参考如下封装方式:
在这里插入图片描述
3.4接口框架设计 - 数据与接口分离
分层原则:【分层目标:接口数据和接口业务分离】
可再细分为:

1.项目接口分层:具体要实施接口自动化的工品的主目录。其中,项目主目录中,按分层思想,又可根据接口功能作为二级目录。

目录结构规范:
模块名:project name
子模块名:folder name
接口名:suite name
用例名:case name
如:分类大致思路如此,如类别之间有更细的分类加入即可,如sdk有platform区分、push api有v2和v3版本之分、模块下可以多个自模块等,总之按照树形结构展开符合逻辑即可。

2.接口业务分离:不同接口模块下,又可根据子功能的不同,划分成不同接口主要又包含两部分,一部分为接口业务关键字,通常一个接口下,可以根据测试的业务不同,定义多个不同的关键字。另一部分就是接口功能用例,接口用例下仅需填测试数据即可。通常不同的用例存放不同的测试数据,即业务关键字的入参,业务关键字根据接收到不同测试数据而去自动执行对应的业务流程。通常将具体的一组动作序列封装一个业务关键字,测试用例中之所以以存放测试数据的设计核心就是在于将测试业务与测试数据分离。因为通常测试过程中,一个业务关键字的动作序列不会经常变更,需要变更的是测试数据,通常不同的测试数据,会导致业务关键字的产生的结果不同。

3.公共方法数据分离:包括三部分,公共方法(公共),项目配置文件(配置),数据构造文件(TestData.py)其中:

**公共方法**:主要提供各个不同项目接口之间都会调用到的一些公共方法,如接口请求,接口数据校验、接口统计等,详情可以看3.3 请求方法和返回数据的封装。

 **主配置文件**:主要存储接口在各个不同环境下(通常一个产品,开发完成后,都需要在测试环境验证通过后,才可发布到线上环境,这里所说的不同环境指的就是测试环境、线上环境)的访问地址,通常做法可在业务关键字编写脚本时,将接口访问地址通过变量来控制,然后此变量访问主配置文件对应的接口地址即可,通常接口环境分定义为测试环境下的接口访问地址、预发布环境接口地址、线上接口环境地址等。

 **数据构造文件**:数据控制文件的设计核心在于,在变量文件中定义构造数据的函数方法,然后将方法的返回值赋给一个变量,在具体的接口引用该变量。详情可以看3.3 获取随机数据方法的封装。

3.5 robotframework用例编写
参考3.4的分层思想我们可以编写出以下用例:
在这里插入图片描述
4.持续集成本
文介绍的是使用詹金斯做持续集成
· 安装插件进入詹金斯主页面,系统管理 - 管理插件 - 可选插件;在过滤栏输入“机器人”,选择安装如下图的插件
· 新建工程新建,输入一个需要创建的任务名称,并选择“构建一个自由风格的软件项目”,然后点击OK
在这里插入图片描述
· 源码管理,根据项目情况选择;我们选择GIT中,填写对应的信息;
在这里插入图片描述
· 构建触发器
o 民意调查SCM:定时检查源码变更
o 定期建造:周期进行项目构建

· 构建
在这里插入图片描述
执行robotframework用例关键语句:pybot -d用例地址

· 构建后操作
o 选择“发布机器人框架测试结果”
*机器人输出目录填一个本地路径,要根据你的输出文件放
在哪里,可以不填
*构建结果的阈值测试用例执行成功率和通过率的设置,如
80%和100%
o 选择“可编辑的电子邮件通知”
* Project Recipient List这是一个以逗号(或者空格)分隔的
收件人邮件的邮箱地址列表。允许您为每封邮件指定单独
的列表。

· 应用保存
o 创建成功
在这里插入图片描述
· 自动构建
o 创建成功的工程会根据你制定的时间自动构建,执行自动化用例。
在这里插入图片描述
除了每日的定时触发自动化测试用例外,我们还可以让用例与相应的模块服务构建的工作相关链,这样模块代码有更新,部署到环境后,就会自动跑一遍自动化用例,测试结果可以更及时的对这次代码的质量进行评估,是否达到测试准入资格。

接口(API)测试 接口测试概念 接口的定义:两个不同的系统或者一个系统中两个不同的功能,它们之间相互连接的部分称为接口。 在软件测试中,常说的接口一般有两种:图形用户接口(Graphical User Interface,GUI),它是人与程序的接口;应用程序编程接口(Application Programma Interface,API),这里主要介绍API。 API是一组定义、程序及协议的集合,API可实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。 常见接口可以分为以下3类: 基于浏览器/服务器 阅读详情

相关推荐

具身智能ACT模型在lerobot机械臂上的实践与优化

本文详细介绍了如何在低成本lerobot机械臂上实践与优化具身智能ACT模型。从环境搭建、数据采集到模型原理与代码实战,提供了完整的入门指南。重点分享了通过数据增强、混合开源数据集及模型微调等策略,有效提升模型在抓取放置任务中的泛化能力与鲁棒性,为机器人学习爱好者提供了宝贵的实战经验。

weixin_29081703的博客 169

接口及接口测试

一、什么是接口(interface)? 1.1 目前有赞项目中和接口相关联的注意事项 在我个人的工作经历及理解中,接口可以分为2大类:一类是在程序内的接口调用。比如在用户登录时,输入账号密码调用登录接口去校验。 另一类是系统之间的接口调用。这一类中又可以细分为2类:一类是同一个平台内的系统之间的接口调用;比如在电商中,订单中心要想知道某个订单现在有没有发货,需要传递订单号到仓储中心,然后返回订单的发货状态。还有一类是不同平台系统的接口调用;比如我们需要在页面上展示地图,直接调用高德或者百度的接口展示。

weixin_45469693的博客 967

OMNET++ INET框架学习教程(一)

在自组网学习的道路上摸石头过河,帮你快速入门OIMNET++平台下的INET框架。

NLDwangzhe的博客 6565

接口测试及常用接口测试工具

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

NHB234567的博客 1693

双有源桥变换器(DAB)TPS控制:从理论建模到Simulink/PSIM仿真实践

本文深入探讨了双有源桥变换器(DAB)的三重移相(TPS)控制技术,从理论建模到仿真实现。文章详细分析了TPS相比SPS和DPS的优势,阐述了其12种工况的划分逻辑与电流应力最优调制策略,并提供了在Simulink和PSIM平台搭建仿真模型的详细步骤与实战经验,帮助工程师掌握这一高效控制方法。

white的博客 584

Nginx&&Keepalived(一)Keepalived介绍

一、背景: 案例1:如现有服务my-service-demo,希望实现高可用和负载均衡: 首先,my-service-demo服务部署在两台机器上,通过nginx去代理这两个节点,负载均衡就实现了。如果只有一个nginx,这台nginx机器一旦宕机,访问nginx会报错。这时候在另外一台机器nginx2上也安装nginx,并配置同样的代理,可以解决上述问题,但是暴露给用户的只有一个域名(或ip),不可能给用户提供两个域名,域名1(nginx机器1)访问不了了再让用户访问域名2(nginx机器2),这

w_t_y_y的博客 2885

接口测试到底怎么做?

接口测试

Testfan_zhou的博客 2566

汇川H5U模拟量输出模拟量转换FC: S_RTI

汇川H5U模拟量输入模拟量转换 FC S_ITR_RXXW_Dor的博客-优快云博客接口中的临时变量,如果优化的可以省去一些,感兴趣的可以自行编写修改下,这里不在举例。至此模拟量输入转换FC编写完成。

RXXW_Dor的博客 6679

接口测试怎么测?接口测试的流程和步骤(超详细)

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试!那么接口测试是怎么来测试接口的呢?接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。

cs888zsy的博客 2万+

【银河麒麟V10】【桌面】【服务器】系统启动问题

1、如果之前运行好好的,重启后系统报错,一般80%是因为fstab的问题,回想下之前有没有添加过外接存储,修改过/etc/fstab,如果是的话一般是因为存储异常(比如网络存储无法连接,本地存储路径变化)导致系统开机自检失败,导致无法正常启动; 处理方式:进入单用户(单用户进入的几种方式上面有专门文章介绍),修改/etc/fstab,将新增的内容暂时注释掉,然后重启系统,能正常进入系统后再分析失败原因。 ...

桂安俊@KylinOS 3万+

搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义

SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1307

接口入参形式_极光小课堂|手把手教你做接口测试

接口测试是项目测试过程中非常重要的一环,测试的对象是接口,所以提早介入测试,对代码逻辑进行全面验证,就会更早的发现程序的问题。同时,接口测试比UI测试效率更高,并且更容易验证极端和异常的情况。那么什么是接口测试,以及如何在实际环境中进行接口测试呢?本文手把手教会你接口测试的逻辑和方法。1.接口测试概念1.1接口的定义应用程序编程接口(API Application Programming Inte...

weixin_36004880的博客 1572

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

webservice在线测试_极光小课堂|手把手教你做接口测试

极光小课堂是我们新推出的一个栏目,以后会在这个栏目下分享技术干货、教程等。今天要分享的是如何做接口测试。接口测试是项目测试过程中非常重要的一环,测试的对象是接口,所以提早介入测试,对代码逻辑进行全面验证,就会更早的发现程序的问题。同时,接口测试比UI测试效率更高,并且更容易验证极端和异常的情况。那么什么是接口测试,以及如何在实际环境中进行接口测试呢?本文手把手教会你接口测试的逻辑和方法。...

weixin_39860166的博客 376

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

flutter学习笔记

1.跨平台移动UI框架2.与现有的代码一起工作(可以直接嵌入到原生代码中或直接把原生代码嵌入到自己的代码中运行)3. 完全免费、开源。

haoxuhong的博客 8245

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

接口测试一般怎么测?接口测试的流程和步骤~

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试 !

程序员二黑 2722

接口测试怎么进行,如何做好接口测试

一、什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。 二、 常用接口采用方式: 1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有apipost、jmeter、loadrunner等; 2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是ke.

测试萌萌 1万+

接口测试及常用接口测试工具(WGCLOUD)

首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发

tianshiyeben的专栏 545

接口测试的几种方法

其实无论用那种,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。大家都知道LoadRunner是一种性能测试工具,但它也可以用在我们做的时候。

nhb687095的博客 1845

什么是接口测试?为什么要做接口测试?【建议收藏】

什么是接口测试?为什么要做接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 由于如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定...

爱码小哥 4065

接口测试是什么?如何做好接口测试?

文章目录 1.什么是接口? 2.接口都有哪些类型? 3.什么是接口测试? 4.为什么要做接口测试? 5.怎样做接口测试? 6.接口测测试点是什么? 7.接口测试都要掌握哪些知识? 8.其他相关知识? 1.什么是接口? 形象来讲:我们天天用的手机,需要充电,那么我们需要给给手机插上充电器, 如果充电器的接口型号对不上,那么就不能进行充电, 我们调用接口也是一样,必须要根据接口设计文档来,不能自己随心所欲去调用。 从另一个角度说,接口就是外部系统与系统之间以及内部各个子系统之间的交互点,定

测试小小的博客 2076

接口测试一般怎么测?接口测试的流程和步骤

一、什么是接口测试 我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试! 那么接口测试是怎么来测试接口的呢? 接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求. 简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。” ▶300G软件...

m0_68823781的博客 1万+

接口测试是怎么做的?

接口测试在系统测试之前做的,接口测试在集成测试阶段; 1.开发在开发完代码之后,会给我们一个接口文档,这个接口文档会写上我们要测接口的一些数据,比如包括请求头,参数,返回值,这些都是我们要测的 2.根据接口文档编写测试用例 接口测试用例设计: 1.保证接口是好的,输入正确参数,返回正确结果 2.考虑接口异常验证,包括必填项验证,类型,长度,还可以测试少参数,多参数; 3.安全性验证 3.用例评审 4.使用jmeter执行-可以设置断言去验证返回结果,去实现一个自动化测试 5.也会对执行结果,在数据库中去验证

qq_45830076的博客 1337
上一篇: 一键登录怎么在iOS端实现?这篇文章教会你!
下一篇: 极光笔记|百亿级KV存储在极光的运维实践之路
极光推送
博客等级 码龄14年 109粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值