2024年最新最全面的Apifox使用-自动化测试

 正文

  • 编排测试场景
  • 运行测试
  • 持续集成
  • 查看测试结果

编排测试场景

新建测试场景

测试场景用于将多个接口有序地组合在一起运行,用于测试一个完整业务流程。

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

添加测试步骤​

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

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

添加测试流程控制条件

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

分组​

当测试流程中多个步骤存在相关联关系时,可以进行归类并放入到同一个分组中。通过对测试步骤的分组,让测试场景具备更好的可读性和操作性。

示例: 将查看详情宠物详情、修改宠物信息、再次查看详情等步骤归类成分组。

  • 点击底部的按钮「添加步骤」,并选择「分组」。
  • 将要归类的步骤,拖到分组步骤下或在分组中直接添加步骤。

循环​

当测试步骤需要重复执行时,可以通过设置循环次数来解决。同时,循环的附加设置中,支持自定义设置「中断条件/遇到错误时」判断。

示例:宠物店店主在结束营业的晚上,登录宠物库存管理后台,将今日出售的 10 个宠物,分别进行详情查看并将它的在售状态变为已售出。

  • 点击底部的按钮「添加步骤」,并选择「循环」
  • 输入需要的循环次数 10 
  • 将该测试步骤拖入该条件下内框中(你也可在该条件下直接添加测试步骤)

判断​

当测试流程中存在多条件判断时,可以通过添加判断条件( If )来区分流程执行的步骤。即当判断配置的条件满足时,该判断条件下的子步骤才会执行, 相反子步骤则会被跳过。

示例:宠物店店主根据昨日宠物出售情况,若判断为售出,将该宠物的出售状态设置为“已售出”。否则( else ),查询在售中列表。

  • 点击底部的按钮「添加步骤」,并选择「条件分支」。
  • 在 lf 条件后面的输入框填写请求接口得到的变量 saleStatus ,然后选择条件"等于",最后输入比较数值为 true。(当销售状态判断为 true 的时候,则更改宠物信息为「已售出」)
  • 将鼠标悬浮在该条件分支操作拦会出现「+ Else 」,点击并新增「出售中的宠物列表」步骤(否则,即查询在售中的宠物列表。)。
  • 将测试步骤拖入到相应的条件分支中。

等待​

当测试流程中某个步骤需要执行后需要等待一段时间时,比如 A 步骤需要等待若干时间后再执行 B 步骤,可以通过新增等待条件来解决。

示例:模拟用户查看宠物详情,浏览 1000ms 后,将该宠物详情信息中的浏览状态进行更新。

  • 点击底部的按钮「添加步骤」,并选择「等待」。
  • 输入需要等待的时间 1000(单位毫秒)。

保存为场景实例

在实际的测试场景中会经常遇到这样的情况:

  • 两个测试场景使用相同的测试步骤与测试流程,但要求在不同的环境下运行测试;
  • 相同的测试场景要求在正式环境需引用正式数据,测试环境引用模拟数据;
  • VIP 用户和普通用户的测试场景与测试环境要求基本一致,但是针对 VIP 用户的测试步骤中需要使用独立的用户数据;

「保存为场景实例」功能支持快速将同一测试场景下不同的运行配置另存为独立的场景实例。

在测试场景中指定运行环境、引用测试数据和循环次数后,点击右下角的「保存为场景实例」按钮。

运行场景实例​

你可以在测试场景-目录树中查看该场景已保存的场景实例。点击页面右侧的“运行”按钮,一键触发已保存的测试场景步骤和运行配置快速完成测试工作,不再需要在同一测试场景下反复调整运行配置。

导出配置文件​

点击测试步骤页右上角的菜单按钮,选择需要导出的格式


运行测试

手动运行测试

设置测试步骤顺序​

将鼠标移至任意一项接口,然后点击接口左侧出现的菜单按钮,拖拽调整测试步骤的顺序

设置运行配置​

你可以额外调整以下设置:

  • 运行环境
  • 测试数据
  • 循环次数

高级设置​

在高级设置中,你还可以调整:

  • 遇到错误时的策略
  • 接口间隔停顿时间
  • 保存请求 / 响应详情
  • 保存变量变化值
  • 使用全局 Cookie
  • 保存 Cokkie 到全局

性能测试

API 性能测试是指对针对接口模拟上万或百万的请求负荷下进行压力测试来检验其运行性能的过程。这种测试可以用来识别 API 的性能瓶颈或不足,并确保 API 在高负荷情况下能够稳定地运行和响应请求。

你可以通过以下三种方式开展接口性能测试

1.使用 Apifox 展开性能测试​

线程数是同时并发运行的线程数,每个线程都会按顺序运行选中的所有步骤。在测试场景中设置线程数。将线程数调整为 > 1 后即可实现性能测试。

若需要进行高并发测试,建议以导出 JMeter 文件的方式进行测试

2. 使用 Apifox CLI 方式进行测试​

Apifox CLI 是 Apifox 的命令行运行工具,主要用来做持续集成和压力测试

3. 导出 JMeter 测试​

你可以将测试场景以 JMeter 格式导出,然后再导入至 JMeter 运行性能测试。

数据驱动测试

测试场景支持导入外部测试数据集。当测试场景运行时,系统会循环运行数据文件里所有的数据集,并且会将数据集里的数据赋值对应的变量。

  1. 每个数据集允许包含多个变量,接口运行时指定变量的地方会读取对应的值(变量优先级:临时变量 > 测试数据变量 > 环境变量 > 全局变量)。
  2. 可创建多个数据集,系统会遍历运行所有的数据集(每个数据集都会被运行一次)。
  3. 数据集云端同步,成员之间共享测试数据。
  4. 可根据不同环境设置不同的数据集。

一个测试场景内支持保存多套测试数据集,可在测试场景/场景实例的“测试数据”处,选择本次运行需要使用的测试数据。

编辑测试数据​

一个测试场景下支持新增多套测试数据。打开测试场景详情页,切换至“测试数据” tab 页,你可以在此处查看或新建测试数据。

 你可以在测试数据中添加数据集、执行批量编辑操作、添加变量或自定义各个环境参数;支持导入本地 json 格式文件或 csv 文件中的数据

运行测试数据​

运行测试数据前选择需要引用的测试数据集,然后再点击“运行”按钮。

使用测试数据​

测试数据导入测试场景后,可以通过引用变量的方式调用测试数据


持续集成

略,详情参考官方文档

https://apifox.com/help/automated-testing/executing-test/ci/executing-test-case-by-cli


查看测试结果

测试运行完成后将输出一份测试报告,你可以在此处直观地看到哪些接口没有通过测试。

查看报告详情​

点击“更多详情”可以查看该接口的运行结果,方便定位问题。

导出测试报告​

测试报告支持以 HTML 格式进行导出。测试任务运行结束后,点击“导出报告”按钮即可。

  这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

 

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

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

相关文章

记录|.NET上位机开发和PLC通信的实现

本文记录源自:B站视频 实验结果:跟视频做下来是没有问题的。能运行。 目录 前言一、项目Step1. 创建项目Step2. 创建动态图片展示Step3. 创建图片型按钮Step4. 创建下拉框Step1~4的效果展示Step5. 编程实体类操作类Main函数 Step1~5的效果展示Main函数 最…

Binder框架(二) ServiceManager初始化

0、总体流程四部 开机由init进程解析init.rc文件启动servicemanager.rc。启动会调用main.cpp的main函数 main函数里面主要做了以下几件事 : 1.1 打开/dev/binder设备; 1.2 通过mmap映射设备的内存空间到ServiceManager进程中。 1.3 设置ServiceManager为context…

气象水文耦合模式WRF-Hydro建模、编译及运行流程、依赖库准备、案例实践等

目录 第一部分 WRF-Hydro模型功能及运行流程、依赖库准备 第二部分 WRF-Hydro模式编译、离线运行及案例实践 第三部分 结合多案例进行模式数据制备及实践应用 第四部分 模式耦合编译及运行、总结 更多应用 WRF-Hydro模型是一个分布式水文模型,‌它基于WRF‌陆面…

数据库启动报ORA-600 6711故障分析处理---惜分飞

几个月以前的一个数据库故障,今天拿出来在win上重新分析,数据库启动报ORA-600 6711错 C:\Users\XFF>SQLPLUS / AS SYSDBA SQL*Plus: Release 12.1.0.2.0 Production on 星期日 7月 14 16:17:32 2024 Copyright (c) 1982, 2014, Oracle. All rights reserved. 已连接到空…

LabVIEW扬尘控制系统

设计了一套基于LabVIEW的扬尘控制系统,通过监测TsP(总悬浮颗粒物)浓度、风向和摄像头视频,实现对环境的综合监控和扬尘控制。系统可以自动判断扬尘位置,并驱动抑尘设备进行抑尘。硬件选用NI cDAQ-9178数据采集模块、Om…

linux高级编程(网络)(www,http,URL)

数据的封包和拆包 封包: 应用层数据(例如HTTP请求)被传递给传输层。传输层(TCP)在数据前添加TCP头部(包含端口号、序列号等)。网络层(IP)在TCP段前添加IP头部&#xff…

数据库:基本操作

SQL struct query language 关系型数据库 非关系 芒果db ddl data defination language 建表 dml 新增 修改 删除一行 data modifty dql 查询 data query language 查询 select 数据库 sun solaris gnu 1、分类: 大型 中型 …

Linux FFmpeg安装教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

DHCP服务、FTP服务

一、DHCP 1.1 DHCP是什么 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配 IP 地址和其他网络配置信息给网络中的设备 1.2 DHCP的好处 自动化: 减少了手动配置 IP 地址和网络参数的工…

Vulnhub:DC-1

1.环境搭建 靶机下载地址 将下载的靶机导入到Oracle VM VirtualBox中,设置仅主机模式,使用和kali相同的网卡 2.渗透过程 使用nmap工具进行主机发现扫描 nmap -sn 192.168.56.0/24 发现靶机ip地址,使用nmap工具进行靶机端口扫描 nmap -sS…

Python算法分析学习目标及能力验证

1、突破编程的关键点 不破不立,如何破?如何立? 人生苦短,我用python 目标:不在于多,而在于准; 验证:必须量化,否则都是虚夸。 那么目标怎么准确可量化呢? …

IDEA创建普通Java项目

环境准备 Java环境 运行javac查看java环境是否安装完成 开发工具Intellij IDEA 下载地址:https://www.jetbrains.com/idea/download/?sectionwindows 创建项目 点击新建项目 填入项目名字,项目路径,选择maven,点击下面的创建 运行项目 …

Docker的数据管理和网络通信

目录 一、Docker 的数据管理 1.数据卷 2.数据卷容器 二、端口映射 三、容器互联(使用centos镜像) 四、*Docker 镜像的创建 1.基于现有镜像创建 2.基于本地模板创建 3.基于Dockerfile 创…

BL201分布式I/O耦合器连接Profinet网络

钡铼技术的BL201分布式I/O耦合器是一个用于Profinet网络的设备,用于连接远程输入/输出(I/O)设备到控制系统,如可编程逻辑控制器(PLC),能够实现分布式的I/O连接和通信。 它支持标准Profinet IO …

一文说透Springboot单元测试

你好,我是柳岸花开。 一、单元测试说明 1 单元测试的优点与基本原则 一个好的单元测试应该具备以下FIRST 原则和AIR原则中的任何一条: 单元测试的FIRST 规则 Fast 快速原则,测试的速度要比较快, Independent 独立原则,…

【Springboot】新增profile环境配置应用启动失败

RT 最近接手了一个新的项目,为了不污染别人的环境,我新增了一个自己的环境配置。结果,在启动的时候总是失败,就算是反复mvn clean install也是无效。 问题现象 卡住无法进行下一步 解决思路 由于之前都是能启动的&#xff0c…

随机过程基础:3.平稳过程(2)

平稳过程是指随机过程的统计特性(如均值、方差、协方差等)不随时间变化。我们可以在时间域或频率域上研究其性质。以下是对平稳过程的协方差函数和功率谱密度的详细讨论。 一、协方差函数 协方差函数就像是描述两个随机变量之间关系的一种“尺子”。想象…

LLM之Prompt(四)| OpenAI、微软发布Prompt技术报告

摘要 生成式人工智能 (GenAI) 系统正越来越多地部署在各行各业和研究机构。开发人员和用户通过使用提示或提示工程与这些系统进行交互。虽然提示是一个广泛提及且被研究的概念,但由于该领域的新生,存在相互矛盾的术语和对构成提示…

API接口的概念和接口测试的概念

一、什么是接口测试 接口测试是项目测试的一部分,顾名思义,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过…

三级_网络技术_17_交换机及其配置

1.下面是一台三层交换机的部分路由表信息。根据表中的路由信息,以下描述错误的是()。 此设备启用了OSPF动态路由协议,并学到了E1和E2两种类型的OSPF外部路由 比设备通过动态路由协议得到缺省路由,下一跳是设备的TenGigabitEthernet1/15接口 …