APIfox编排自动化测试场景(一)

测试场景用于将多个接口请求与实际可能发生的一些特殊情况(如条件判断、循环)有序的组合在一起,来模拟一个真实业务流程,组成自动化测试单元。

新建目录 / 测试场景​

打开 Apifox 后点击左侧菜单栏中的“自动化测试”,点击搜索栏右侧的 + 号,选择所归属的目录与设置优先级后完成创建。

新建测试场景

若希望调整测试场景的所在目录,可以在创建测试场景时点击“目录”中的“新建目录”按钮或选择已有目录并进行调整。

在测试场景中添加测试步骤​

创建测试场景后可以在其中添加测试步骤。测试步骤中支持添加多条接口,并且还可以在步骤中设置测试条件等附加操作。

进入测试场景后,点击“添加步骤”并添加接口。

你可以选择「从接口导入」和「从接口用例导入」。

从接口导入​

你可以从当前项目导入接口作为测试场景中的步骤。导入接口时存在两种模式:分别是”手动同步“”自动同步“模式,详细说明请参考《从接口文档/用例同步数据》。

  • 手动同步

    在该模式下,当项目内的接口文档有数据变化时,并不会影响测试步骤内的接口。测试人员点击“手动同步”按钮后,测试步骤内的接口数据才会与接口文档数据同步。当测试步骤内的接口数据有变化时,即使点击了“手动同步”按钮,测试步骤内的数据也并不会同步至接口文档,反而会再次抓取接口文档内的数据并与之同步。

  • 自动同步

    在该模式下,当项目内的接口文档有数据变化时,测试步骤内的接口也会同步更新。

如果你需要在一个测试场景中测试其它项目的接口,可以参考《从其它项目导入接口/用例至测试步骤》。

从接口用例导入​

你可以选择从当前项目或其它项目导入接口用例。导入接口用例时存在两种模式:分别是”复制“”引用“模式。

  • 复制

    将接口用例以“复制”方式导入,接口用例里的参数也会一同复制至测试步骤中,并且和原项目内的接口用例数据相互独立,各自改动后互不影响,可选择手动同步。

  • 引用

    将接口用例以“引用”方式导入,那么会直接使用原项目内的接口用例进行请求。

添加自定义请求​

在一个业务流程中,可能存在需要调项目之外的接口的情况,例如需要调用第三方的支付接口。你可以在测试步骤中添加自定义请求,自定义请求可以是任何 HTTP 请求,包括常见的 GETPOSTPUTDELETE 等请求。

流程控制条件​

你可以在测试场景中新增流程控制条件(循环、判断、等待、分组)等。进一步满足了更复杂的测试场景/流程配置的使用,最终借助自动化测试功能解决复杂场景的测试工作。详细说明请参考此文档。

从其它测试场景导入​

你可以将当前项目内的其它测试场景中的测试步骤或流程控制条件复制导入到当前测试场景中。

引用其它测试场景​

你可以在测试场景中引用其它测试场景,将其作为一个测试步骤。以下是该功能的使用场景:

  1. 如果你的业务流程中有一些公共、可复用的步骤,你可以将这些公共的可复用步骤组成一个小的测试场景,然后在其它大的测试场景中直接引用;
  2. 如果你需要做全产品的主流程回归,那么可以在一个测试场景中引用各个子测试场景进行组装,即可一键测试全部主流程,完成回归工作。

警告

为了防止无限循环和出现不能正常停止运行测试场景的情况,引用其它测试场景功能不可引用原测试场景本身。

 

 

测试步骤间传递数据

现假设在一个自动化测试计划中,需提取 A 接口返回数据中的 petid 值并作为 B 接口的请求参数。下文将通过两个方法,分别演示如何完成接口间的参数传递和连接过程。

  1. 页面可视化操作
  2. 根据语法规则操作

页面可视化操作​

查看待提取参数​

在 B 接口 中定义参数值时点击“魔法棒” icon,选择“读取前置步骤的运行结果”选项。

选择从 A 接口 的响应数据 Body 中提取信息,指定“提取部分”数据。可以在 A 接口的请求响应中看到目标 petid 参数值位于 data 列中。

填写参数名 / 路径​

在 B 接口 的 JSONPath 表达式中填写 data.petid 后点击“插入”。你可以查看 JSONPath 语法了解更多复杂的数据提取方法。

为了确保能够正确提取到对应的参数,你可以点击“跳转” icon 预览前置步骤中的预期返回以及是否提取到了正确的数据。

验证参数传递​

点击“运行”测试场景。

你可以在测试报告中查看参数的传递情况。可以看到 A 接口 输出的 petid 参数值为 24,而 B 接口 的实际请求值同样为 24,参数传递成功。

提示

实际运行测试场景后,A 接口才能生成数据,B 接口才能真正地得到返回后的数据。在单独调试测试步骤的过程中后置步骤中的接口无法取得前置步骤所生成的返回值。

根据语法规则操作​

你也可以在遵循语法规则的前提下,直接填写指令来引用前置步骤的返回数据。

例如现在需要提取 A 接口返回数据中的 petid 值:

那么可以在 B 接口中的参数值中填写 {{$.10.response.body.data.petid}} 指令。关于该指令的对照可参考下图:

信息

数字 10 指的是测试步骤 ID。

response.body 指的是从响应 Body 中获取数据。

data.petid 指的是从返回 JSON 文件中提取 data 列中的 petid。

如果指令无误,填写后将会出现“前置步骤”的预览情况。

语法规则表​

分类功能点语法示例

请求

URL

{{$.<步骤 id>.request.url}}

path 参数

{{$.<步骤 id>.request.pathParam.<字段名>}}

query

{{$.<步骤 id>.request.query.<字段名>}}

header

{{$.<步骤 id>.request.header.<字段名>}}

body(form)

{{$.<步骤 id>.request.body.<字段名>}}

body(json)

{{$.<步骤 id>.request.body.<字段路径>}}

响应

body

{{$.<步骤 id>.response.body.<字段路径>}}

header

{{$.<步骤 id>.response.header.< 字段名>}}

cookie

{{$.<步骤 id>.response.cookie.< 字段名>}}

循环

element(ForEach 循环中的数组内元素)

{{$.<循环步骤 id>.element.<字段路径>}}

index

{{$.<循环步骤 id>.index}}

 

 

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

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

相关文章

基于Vue的移动端UI框架整理

一、Vant 官方地址&#xff1a;https://youzan.github.io/vant/#/zh-CN/ 简介&#xff1a;有赞公司开发。 特性&#xff1a;60 高质量组件、90% 单元测试覆盖率、完善的中英文文档和示例、支持按需引入、支持主题定制、支持国际化、支持 TS、支持 SSR。 特别说明&#xff1…

机器学习---概率图模型(隐马尔可夫模型、马尔可夫随机场、条件随机场)

1. 隐马尔可夫模型 机器学习最重要的任务是根据已观察到的证据&#xff08;例如训练样本&#xff09;对感兴趣的未知变量&#xff08;例如类别标 记&#xff09;进行估计和推测。概率模型&#xff08;probabilistic model&#xff09;提供了一种描述框架&#xff0c;将描述任…

R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)

阈值效应和饱和效应是剂量-反应关系中常见的两种现象。阈值效应是指当某种物质的剂量达到一定高度时&#xff0c;才会对生物体产生影响&#xff0c;而低于这个剂量则不会产生影响。饱和效应是指当某种物质的剂量达到一定高度后&#xff0c;其影响不再随剂量的增加而增加&#x…

编译DuiLib库遇到的变量定义位置问题

C89 规定&#xff0c;所有局部变量都必须定义在函数开头&#xff0c;在定义好变量之前不能有其他的执行语句&#xff1b; C99 标准取消这这条限制&#xff0c;但是 VC/VS 对 C99 的支持不是很积极&#xff1b; C99 是 C89 的升级版&#xff1b; 如图是修改之后的代码&#xff1…

AI专题:海外科技巨头指引,AI主线逻辑依旧坚挺

今天分享的是AI 系列深度研究报告&#xff1a;《AI专题&#xff1a;海外科技巨头指引&#xff0c;AI主线逻辑依旧坚挺》。 &#xff08;报告出品方&#xff1a;华西证券&#xff09; 报告共计&#xff1a;54页 本周热点:海外科技巨头指引&#xff0c;AI主线逻辑依旧坚挺 硬件…

介绍docker

一&#xff1a;介绍docker&#xff1a; Docker 并没有单独的图形界面&#xff0c;它主要通过命令行来进行管理和操作 1、 docker ps&#xff1a;显示正在运行的容器。 docker images&#xff1a;显示本地的镜像。 docker run&#xff1a;创建并启动一个新容器。 docker stop&a…

高速接口PCB布局指南(二)通用高速信号布线

高速接口PCB布局指南&#xff08;二&#xff09;通用高速信号布线 1.PCB材料编织2.高速信号布线长度3.高速信号布线长度匹配4.高速信号参考平面 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 1.PCB材料编织 在常见的 PCB 材料上为差分信号布线时&#xff0c;…

Java笔记 --- 六、IO流

六、IO流 概述 分类 纯文本文件&#xff1a;Windows自带的记事本打开能读懂的 eg&#xff1a;txt文件&#xff0c;md文件&#xff0c;xml文件&#xff0c;lrc文件 IO流体系 字节流 FileOutputStream 操作本地文件的字节输出流&#xff0c;可以把程序中的数据写到本地文件中…

如何进行游戏服务器的负载均衡和扩展性设计?

​在进行游戏服务器的负载均衡和扩展性设计时&#xff0c;需要考虑多个方面&#xff0c;以确保服务器的稳定性和可扩展性。以下是一些关键的步骤和考虑因素&#xff1a; 负载均衡的需求分析 在进行负载均衡设计之前&#xff0c;需要深入了解游戏服务器的负载特性和需求。这包括…

2024.2.5 vscode连不上虚拟机,始终waiting for server log

昨天还好好的&#xff0c;吃着火锅&#xff0c;做着毕设&#xff0c;突然就被vscode给劫了。 起初&#xff0c;哥们跟着网上教程有模有样地删除了安装包缓存&#xff0c;还删除了.vscode-server&#xff0c;发现没卵用&#xff0c;之前都是搜那个弹窗报错。 后来发现原来是vsco…

mac检查CPU温度和风扇速度软件:Macs Fan Control Pro 1.5.17中文版

Macs Fan Control Pro for Mac是一款专业的电脑风扇控制工具&#xff0c;旨在帮助Mac用户有效控制电脑的风扇速度&#xff0c;提高电脑的运行效率和稳定性。 软件下载&#xff1a;Macs Fan Control Pro 1.5.17中文版 该软件支持多种风扇控制模式和预设方案&#xff0c;用户可以…

三层交换组网实验(思科)

华为设备参考&#xff1a;三层交换组网实验&#xff08;华为&#xff09; 一&#xff0c;技术简介 三层交换技术的出现&#xff0c;解决子网必须依赖路由器进行管理的问题&#xff0c;解决传统路由器低速、复杂所造成的网络瓶颈问题。一个具有三层交换功能的设备可简单理解为…

Zephyr NRF7002 实现AppleJuice

BLE的基础知识 ble的信道和BR/EDR的信道是完全不一样的。但是范围是相同的&#xff0c;差不多也都是2.4Ghz的频道。可以简单理解为空中有40个信道0~39信道。两个设备在相同的信道里面可以进行相互通信。 而这些信道SIG又重新编号&#xff1a; 这个编号就是把37 38 39。 3个信道…

杨中科 配置系统

1、配置系统入门 说明 1、传统Web.config配置的缺点&#xff0c;之前DI讲到过 2、为了兼容&#xff0c;仍然可以使用Web.config和ConfigurationManager类&#xff0c;但不推荐。 3、.NET 中的配置系统支持丰富的配置源&#xff0c;包括文件(json、xml、ini等)、注册表、环境变…

OpenCV/C++:点线面相关计算(二)

接续&#xff0c;继续更新 OpenCV/C:点线面相关计算_线面相交的点 代码计算-CSDN博客文章浏览阅读1.6k次&#xff0c;点赞2次&#xff0c;收藏12次。OpenCV处理点线面的常用操作_线面相交的点 代码计算https://blog.csdn.net/cd_yourheart/article/details/125626239 目录 1、…

Unity_修改天空球

Unity_修改天空球 Unity循序渐进的深入会发现可以改变的其实很多&#xff0c;剖开代码逻辑&#xff0c;可视化的表现对于吸引客户的眼球是很重要的。尤其对于知之甚少的客户&#xff0c;代码一般很难说服客户&#xff0c;然表现确很容易。 非代码色彩通才&#xff0c;持续学习…

STM32F1 引脚重映射功能

STM32 端口引脚重映射 文章目录 STM32 端口引脚重映射前言1、查阅芯片数据手册1.1 串口引脚重映射描述 2、代码部分2.1 核心代码部分 3、实验现象4、总结 前言 在写程序时遇到想要的端口功能&#xff0c;而这个引脚又被其它的功能占用了无法删除掉或直接使用&#xff0c;这种情…

蓝桥杯----凑算式

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。 比如: 68/3952/714 就是一种解法, 53/1972/486 是另一种解法. 这个算式一共有多少种解法? 注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

Leetcode—42. 接雨水【困难】

2024每日刷题&#xff08;112&#xff09; Leetcode—42. 接雨水 空间复杂度为O(n)的算法思想 实现代码 class Solution { public:int trap(vector<int>& height) {int ans 0;int n height.size();vector<int> l(n);vector<int> r(n);for(int i 0; …

javaEE - 24( 20000 字 Servlet 入门 -2 )

一&#xff1a; Servlet API 详解 1.1 HttpServletResponse Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到HttpServletResponse 对象中. 然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通过S…