【三、接口协议与抓包】使用ApiPost进行接口测试

你好,我是山茶,一个探索AI + 测试的程序员。

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

在进行接口测试时,一定要记得一句话“工欲善其事,必先利其器”,我们需要有一个好用的测试工具来辅助进行接口测试,今天我们来了解下如何使用 ApiPost 进行接口测试

ApiPost 简介

ApiPost 是一个功能较为复杂且强大的接口调试、自动化测试、接口文档工具

对于使用人员

软件测试工程师,接口调试,利用 ApiPost 进行常规的接口调试功能

后端开发工程师,通过 ApiPost 编写、测试接口的同时,可以快速的、自动生成接口文档

对于功能而言

接口自动化测试,利用 ApiPost 提供的断言和流程测试功能,进行接口的流程化测试

生成 Mock 数据,后端可以通过先编写Mock数据给前端,从而让前端提前进入接口调用、前端开发状态

生成序号代码,ApiPost 提供主流语言代码自动生成功能。每编写一个接口,ApiPost均支持生成主流语言代码

ApiPost功能拆解

作为一个测试工程师以 API 管理模块为例(当前目标能用Apipost进行接口测试,少一些花哨多一些使用!!!

  1. 功能模块区域:包含 API 管理、自动化测试(添加Api管理中的接口用例执行)、文档分享、项目模型、更多等

  2. 包含内容:当前模块的工作内容化、工作区域

  3. 接口调用执行模块化:包含预览、设计、调试、一件压测、接口用例、Mock 等(重点关注“调试”、“设计”即可,其他花里胡哨的暂不关注)

  4. 接口的执行模块:接口路径、接口执行、接口保存、接口类型

  5. 接口的请求参数:请求参数包括 Query 参数、Body 参数、Header 参数、路径 参数以及 认证 参数等

  6. 自定义响应参数:分为请求头、响应头、Cookies、成功示例、失败示例等≠

具体的参考示例可以查看文档大全:ApiPost教程大全

F12 模式中的各个字段

网络中post类型接口大都是 以text/plain 类 型的,即通过加密进行传输数据。所以。这里以 GET 接口为例

在仅有接口名称及接口路径时,该如何获取接口的参数及对应头信息呢?

通过抓包工具抓包(在 xxxx 中的抓包工具可以实现)或者是通过开发者模式 F12 抓取对应的接口数据构造接口

以 F12 为例,首先需要了解开发者模式,即 F12 页面的参数都有什么含义,才能更好的分析接口

1. 页面主板功能:包含了 Elements 面板、Console 面板、Sources 面板、Network 面板、

Timeline 面板、Profiles 面板、Application 面板、Security 面板、Audits 面板这些功能面板

2. 是 Network 面板中的内容:Filters 控制 Requests Table 具体显示哪些内容,例如请求信息等。

3. 接口请求信息

对应接口的具体信息:Headers 的HTTP头信息、Preview 资源类型(JSON、图片、文本)显示相应的预览、Response 显示Response信息、Cookies 显示资源HTTP的Request和Response过程中的Cookies信息

4. 4 个Tab进行详细信息,其中包括但不限于:在 Headers 标签里面可以看到 HTTP Request URL、HTTP Method、Status Code、Remote Address 等基本信息和详细的 Response Headers

、Request Headers 以及 Query String Parameters 或者 Form Data 等信息

接口示例

我们在接口测试中使用的主要为 Headers、Preview 和 Response

我们访问页面:https://cloud.tencent.com/developer/article/2380251
在该页面中选取接口:https://cloudcache.tencentcs.cn/qcloud/ui/cloud-community/build/base/images/icon-competition_f07.svg

如图所示截取对应的接口

开发ApiPost工具,新建一个目录,在目录下新增接口Api测试用例接口

  1. 选择设计模式,设计模式包含以下所有页面内容

  2. 当 当前页面编辑完成保存后,可以点击跳转到调试页面发送数据请求

  3. 选择对应的接口类型,其中包含 ‘POST’、‘PUT’、‘GET’等等多种类型

  4. 输入对应的请求链接即对应的接口路径及地址

  5. 对应设计的接口名称位置,同 8 的作用相同,可以修改名称后存储,相较于其他的工具有点不适应的设计

  6. 请求头参数及请求头参数设计

  7. 响应请求的设计,可以选择响应的类型,右侧还可以选择

点击发送请求后,与 F12 响应内容对比完全一致,请求成功

作者简介:

程序员山茶,一个工作5年,并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业,欢迎和我一起沟通交流。


欢迎关注我,  和我一起探索AI+测试之路,终身成长

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

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

相关文章

neo4j网页无法打开,启动一会儿后自动关闭,查看neo4j status显示Neo4j is not running.

目录 前情提要User limit of inotify watches reached无法访问此网站 前情提要 公司停电,服务器未能幸免,发现无法访问此网站,http://0.0.0.0:7474 在此之前都还好着 User limit of inotify watches reached (base) [rootlocalhost ~]# n…

Docker 快速入门实操教程ER(完结)

Docker 快速入门实操教程(完结) 如果安装好Docker不知道怎么使用,不理解各个名词的概念,不太了解各个功能的用途,这篇文章应该会对你有帮助。 前置条件:已经安装Docker并且Docker成功启动。 实操内容&…

jmeter 中用python 实现请求参数的随机

首先需要下载插件来让jmeter支持python脚本 下载地址:https://www.jython.org/download,下载完成后放到jmeter安装目录的lib文件夹下 放置完成后需要重启jmeter,添加JSR223 PreProcessor,Language下拉框中多2项 选择第一项&#…

PyTorch基础(20)-- torch.gt() / torch.ge() / torch.le() / torch.lt()方法

一、前言 嗯……最近遇到的奇奇怪怪的方法很多了,学无止境啊!学不完啊,根本学不完!本篇文章介绍四个方法:torch.gt()、torch.ge()、torch.le()和torch.lt()方法,由于这四个方法很相似,所以放到…

四 超级数据查看器 讲解稿 列表功能1

四 超级数据查看器 讲解稿 列表功能1 点击此处 以新页面 打开B站 播放教学视频 APP下载地址 百度手机助手 下载地址4 讲解稿全文: 大家好,今天我们讲解一下,超级数据查看器列表界面,分为1-2两集。 首先&#xff0c…

RK3568 xhci主控挂死问题

串口日志 rootjenet:~# [18694.115430] xhci-hcd xhci-hcd.1.auto: xHCI host not responding to stop endpoint command. [18694.125667] xhci-hcd xhci-hcd.1.auto: xHCI host controller not responding, assume dead [18694.125977] xhci-hcd xhci-hcd.1.auto: HC died; c…

【数据分享】2000-2022年全国1km分辨率的逐年PM10栅格数据(免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年全国范围逐年的PM2.5栅格数据、2013-2022年全国范围逐年SO2栅格数据和2013-2022年全国范围逐年CO栅格数据(可查看之前的文章获悉详情)! 本次我们给…

[iOS]高版本MacOS运行低版本Xcode

Xcode 版本支持文档 目的: 在MacOS Sonoma 系统上安装 Xcode14.3.1 第一步 先在Xcode下载一个Xcode14.3.1的压缩包 第二步 本地解压Xcode,将外层目录名变更为Xcode_14.3.1,将文件拷贝到 /Applications目录下。 第三步 变更xcode-sel…

裸机编程的几种模式、架构与缺陷。

大多数嵌入式的初学者都是从单片机裸机编程开始的,对于初学者来说,裸机编程更加直观、简单,代码所见及所得,调试也非常方便,区别于使用操作系统需要先了解大量的操作系统基础知识,调度的基本常识&#xff0…

Redis及其数据类型和常用命令(一)

Redis 非关系型数据库,不需要使用sql语句对数据库进行操作,而是使用命令进行操作,在数据库存储时使用键值对进行存储,应用场景广泛。 一般关系型数据库(使用sql语句进行操作的数据库)和非关系型数据库可以…

每日一题 — 四数之和

18. 四数之和 - 力扣(LeetCode) 思路: 双指针思想,转换成三数之和,在转换成二数之和先排序,固定一个数a,转换成三数之和再固定一个数b,转换成二数之和再注意不漏和去重 代码&#…

[LeetCode][426]【学习日记】将二叉搜索树转化为排序的双向链表——前驱节点pre 和 当前节点cur 的使用

题目 426. 将二叉搜索树转化为排序的双向链表 将一个 二叉搜索树 就地转化为一个 已排序的双向循环链表 。 对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第…

读算法的陷阱:超级平台、算法垄断与场景欺骗笔记07_价格歧视

1. 行为歧视 1.1. 单个企业通过使用数据驱动的算法,从而更好地实现锁定客户、开展个性化营销与定价的目的 1.2. 市场环境再次发生了变化 1.2.1. 在共谋场景中,定价算法提高了企业经营者在销量数据上的透明性&#xf…

【Java从入门到精通】Java异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error;如果你用System.out.println(11/0),那么…

Java并发编程: AQS

文章目录 一、前置知识二、什么是AQS三、使用AQS框架的锁和同步器1、ReentrantLock2、ReentrantReadWriteLock3、CountDownLatch4、CyclicBarrier5、Semaphore:信号量 四、锁和同步器的关系1、锁:面向锁的使用者2、同步器:面向锁的实现者 五、…

四川易点慧电子商务有限公司抖音小店安全正规

在如今网络购物日益普及的时代,消费者对于购物平台的选择越来越挑剔。四川易点慧电子商务有限公司抖音小店以其安全正规的经营模式,赢得了广大消费者的信赖和好评。本文将为您详细介绍四川易点慧电子商务有限公司抖音小店的优势和特点,让您在…

Vue3全家桶 - Vue3 - 【2】声明响应式数据(ref + reactive + toRef + toRefs)

声明响应式数据 一、 组合式API 1.1 ref() ref() 函数,可以创建 任何数据类型 的 响应式数据;🔺注意: 当值为 对象类型 时,会用 reactive() 自动转换它的 .value; ref 函数的内部实现依赖于 reactive 函…

【AI】如何创建自己的自定义ChatGPT

如何创建自己的自定义ChatGPT 目录 如何创建自己的自定义ChatGPT大型语言模型(LLM)GPT模型ChatGPTOpenAI APILlamaIndexLangChain参考推荐超级课程: Docker快速入门到精通Kubernetes入门到大师通关课本文将记录如何使用OpenAI GPT-3.5模型、LlamaIndex和LangChain创建自己的…

java-ssm-基于jsp商场停车服务管理信息系统

java-ssm-基于jsp商场停车服务管理信息系统

Notes用户还可自助改密码

大家好,才是真的好。 很多时候企业对员工的安全使用进行了硬性规定,例如严格的就是,每三个月或六个月要至少更改一次密码。 在Domino 8.5以后,功能上多了一个新特性,叫ID保险库,其实就是把用户的id标识符…