轻量级API测试工具Pandaria

最好用的七大顶级 API 接口测试工具 现在 API 接口已经成为软件开发重要的组成部分,由于 API 并没有 GUI 图形界面,无法直观的对接口进行测试,所以对于前后端开发来说,找到一套趁手的工具对 API 接口进行测试,了解开发的程序是否符合预期十分重要。面对批量的 API,手动测试变得非常低效,自动化 API 接口测试工具,帮我们提高测试效率的同时,更能帮我们保证程序的稳定和安全性。本文介绍 7 款顶级 API 接口测试工具。 阅读详情

背景

最近参与了一个项目,团队有自动化测试诉求,但是测试人员没有编程能力,开发人员也没有精力帮忙,探索了已有的自动化测试工具,满足不了团队需求后,决定自己造个轮子。

  • Postman

Postman是一个不需要编码能力,且十分方便的自动化测试工具,由于项目中很多测试的验证点需要验证数据库里面数据的正确性,如果用Postman的话需要为测试创建一些没有必要的HTTP API。很遗憾, 这个轮子不满足我们的要求。

  • Rest-assured

我们探索的第二个工具是Rest-assured. 虽然他对API测试相关操作封装了很简洁美观的DSL, 由于其直接是Java代码,像数据库校验什么的毫无困难。但是要编写基于Rest-assured的自动化测试,还得有一定的编码基础,很遗憾,这个轮子我们用不来。

  • Cucumber

Cucumber支持自然语言形式编写自动化测试,自然语言调用的是代码,如果对cucumber做了足够好的封装,编写测试的人不需要编写代码也能写自动化测试。那就需要做足够通用的封装,所以Pandaria就是基于cucumber jvm封装的HTTP(S) API自动化测试的DSL。Cucumber本身功能非常实用,使用pandaria依然能够直接使用cucumber jvm的所有功能。

Pandaria

在测试团队缺乏编码能力,以及需要验证数据库的需求背景下,我们尝试着基于cucumber做封装,使不会写代码的测试人员也能编写自动化测试。之后我们很惊讶的发现这种方式非常有效,所以将这个工具分享出来,希望能对有相同诉求的团队有所帮助。

测试HTTP API

  Scenario: simple get
    * uri: /users/me
    * send: GET
    * status: 200
    * verify: '$.username'='jakim'
    * verify: '$.age'=18

使用pandaria写API自动化测试,就像上面这样,只需要使用抽象好的关键字,描述发送请求的过程,以及编写你的验证条件即可。

上述代码解读: 往相对路径uri为/users/me的地址发送GET请求,并验证返回状态为200,且返回体里面json path为$.username的值为'jakim',json path $.age处的值为18。

验证数据库

* query:
"""
SELECT NAME, AGE FROM USERS
"""
* verify: '$[0].name'='jakim'
* verify: '$[0].age'=18

或者

* query: select.sql
* verify: '$[0].name'='jakim'
* verify: '$[0].age'=18
select.sql
SELECT NAME, AGE FROM USERS

测试人员只用写SQL就能像校验json一样校验数据库内容。上述代码会使用SQL语句SELECT NAME, AGE FROM USERS到数据库中查询,并验证返回结果的第1行的name和age属性。

准备测试数据可以直接执行SQL文件:

* execute sql: prepare_users.sql
* execute sql:
"""
insert into users(name) values('test');
"""

等待功能

自动化测试经常需要等待一件事情完成,特别是异步操作时,这时候通常的做法是等待一定的时间,验证结果,如果不通过,则重试一定的次数,直到验证成功,或者超过最大次数失败。使用Pandaria可以这么写:

* wait: 1000ms times: 3
* uri: /sequence
* send: GET
* response body:
"""
3
"""

上述代码会往/sequence发请求,并验证返回消息体是否等于3,如果等于则继续往下执行,如果失败则等待1000ms,然后重试,如果重试超过最大3次,则测试失败。

也可以等待数据库中数据满足某个条件

* wait: 1000ms times: 3
* query: select.sql
* verify: '$[0].name'='jakim'
* verify: '$[0].age'=18

变量

很多时候restful api的uri的路径中包含数据库自增长的ID, 其可能是一个异步操作生成,导致我们不能直接从API返回结果中拿到,只能从数据库中根据测试数据的条件查找,并在后续API测试中使用,使用pandaria我们可以这么写:

* query:
"""
select id from users where name='test-user-name';
"""
* var: 'auto_generated_id'<-'$[0].id'

* uri: /users/${auto_generated_id}
* send: GET
* verify: '$.id'=${auto_generated_id}
* verify: '$.name'='test-user-name'

上述代码首先从数据库查出自增长的id,然后使用<-操作符将结果中的id定义为名为auto_generated_id的变量,并在后续的操作中使用这个变量。

总结

Pandaria目前还在持续开发中,我们发现其已经能对我们团队带来切实的效率提升,故借此机会分享出来,希望能帮助到类似的团队。

【调优】OpenClaw调优之模型(tokens)篇 OpenClaw用户常遇四大痛点:规则被无视、API账单暴涨、低效模型选择、记忆丢失。通过/context list命令可解析上下文组成,包括工作区配置、引导参数限制、系统提示词等关键信息。重点需关注Token消耗来源,如核心配置文件、技能工具说明等,避免静默截断。建议精简非必要内容,优化记忆机制,平衡功能与成本。该分析帮助用户减少无效操作,合理控制API支出。 阅读详情

相关推荐

Matlab实战:5分钟搞定脉冲多普勒雷达信号处理仿真(附完整代码)

本文详细介绍了如何使用Matlab在5分钟内完成脉冲多普勒雷达信号处理仿真,包括环境配置、线性调频信号生成、数字下变频处理、动目标检测及性能优化技巧。通过完整代码示例和实用技巧,帮助工程师快速验证算法可行性,提升雷达信号处理效率。

nokia的博客 946

api 接口测试工具:Postman、Apifox、Apipost、api压测(locust)、locust爬虫

Postman接口测试工具最全实用教程

freeking101的博客 5万+

[STM32H750]HAL库下FMC驱动正点原子MCU屏的移植与优化

本文详细介绍了在STM32H750平台上使用HAL库移植与优化正点原子MCU屏幕驱动的完整过程。重点解析了FMC硬件配置、Cache一致性处理、精确延时实现等关键技术难点,提供了实用的移植方案和性能优化技巧,帮助开发者高效解决屏幕显示问题。

rock5的博客 286

2024 年11个API 自动化测试工具,你知道几个?

API自动化测试工具在软件开发和集成过程中扮演着至关重要的角色。这些工具能够帮助开发人员和测试人员快速、准确地测试API,确保其在不同环境和条件下的稳定性和可靠性。

测试界的彭于晏的博客 1081

小华半导体HC32芯片开发使用说明

HC32F/L系列MCU在Keil MDK和IAR Workbench环境下通过工程样例进行软件开发。

小布的芯视角 5635

Linux下用SquareLine Studio开发LVGL界面:从安装到实战的完整避坑指南

本文提供了一份在Linux系统下使用SquareLine Studio开发LVGL图形界面的完整实战指南。内容涵盖从SDL库安装、SquareLine Studio环境配置、界面可视化设计,到工程导出、源码编译及常见错误排查的全流程。重点解析了如何将设计界面无缝集成到Linux开发流程中,并针对嵌入式设备移植提供了关键步骤,旨在帮助开发者高效避坑,快速上手LVGL界面开发。

egg99的博客 908

13款强大的开源API测试工具,不容错过!

使用SOA和微服务作为软件架构的趋势不断上升,催生了多种用于服务API自动化测试的工具。API是应用程序接口(application programming interface)的缩写,是一套用于构建和集成应用软件的定义和协议,是两个或多个计算机程序相互通信的一种方式。API定义了客户端和服务之间的通信协议以及服务的行为方式。你可以使用不同的协议或体系结构约定来管理应用程序中的交互。简单对象访问协议 (SOAP) 建议使用 XML 作为消息格式,并通过HTTP或SMTP传送请求。表述性状态传输 (R

m0_47485438的博客 3714

ml307 二次开发

中移物联网旗下4g模组官方网站官方教程id=514官方客户不知道啥时候上班 早上10点也说不在服务时间内 找不到官方的sdk下载路径。

myWorld001的博客 2899

2023年10个最受欢迎的API测试工具

API测试或者叫接口测试是在程序逻辑层进行的一种测试,它是没有界面GUI的。基于这种特性,进行API测试时,我们需要依赖一些API测试工具来进行。本文列出了2023年10个最受欢迎的API测试工具,供大家参考。

伤心的辣条 2275

第二节:Vben Admin 登录逻辑梳理和对接后端准备

第一节,我们已经配置了前端环境,运行起来了我们的Vben Admin的项目。本节内容,我们先熟悉下项目的目录和文件,然后开始准备对接后端程序路由在 src/router页面在 sr/views本节前端登录逻辑梳理完成了,后端只要在/api/login 接口编写返回逻辑,前后段就可以打通了,具体详情我们下一节介绍。

cuiwin的专栏 5084

【XSRP软件无线电】基于软件无线电平台的FM数字接收系统设计(含有完整工程资料获取链接)

随着无线通信技术的快速发展,软件无线电(Software Defined Radio, SDR)作为一种新兴的无线通信技术,逐渐成为研究和应用的热点。传统的无线接收机通常依赖于专用硬件实现其功能,灵活性和可扩展性有限。相较之下,软件无线电利用软件来实现信号处理和调制解调功能,能够适应多种频率和调制方式,使无线通信系统更加灵活和高效。在FM(频率调制)广播中,数字接收技术的应用不仅提高了信号的抗干扰能力,还能提供更好的音质和更多的附加信息(如广播电台名称、节目内容等)。

嵌入式技术开发 1371

简单介绍十款可以免费使用的API测试工具

工具太多,能用就行,关键还是整体架构与API的设计。大家都习惯用哪款呢?行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

百晓生说测试的博客 3876

程序员常用的6款API测试工具

程序员常用的6款API测试工具,总有一款适合你

dimitri1111的博客 2242

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

软件测试八款优秀的API安全测试工具,会用三款工作效率能提升50%

Postman完全具备作为API测试工具的资格,但其更为人所知的名号却是打造安全API的全套协作平台。数百万Windows、Linux和iOS开发人员使用Postman不是没有原因的。

软件自动化测试技术交流、资源分享 1070

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

开发和测试中常用的7个API工具

REST API 开发人员和测试人员的 7 大工具。

u013643074的博客 1895

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

推荐几款2024年最新开源API测试工具!

如今 API 已在软件、Web和移动应用程序开发领域无处不在,API 管理的重要性不言而喻,今天给大家分享几款开源的 API 管理工具,希望能对你有用。

伤心的辣条 1386

十大最佳 API 测试工具

大家好,这里是!点击上方关注,添加“”,一起学习大厂前沿架构!测试 API 的需求经常会突然出现。探针与探针错误所在,传统的探针测试方法已失效。同时,构建过程缓慢且庞大,难以隔离单个API进行故障修复。技术人员需要精细的工具来诊断问题并实施修复。然而,在选择这些工具时,“愿望清单”式的方法往往会最终导致公司一无所获,只能自行开发定制工具,或者购买一个表面上功能齐全但实际效果不佳的工具。不要试图用一种工具来满足公司的所有需求,而要根据其优势、劣势、风险和成本来寻找一种工具。

Dc253061007的博客 1754

强烈推荐这 6 款 API 测试工具,绝对有一款没听过

8年开发经验,想要给大家推荐 6 款,我觉得哪怕放到现在都还是不错的 API测试工具,有国内的,有国外的,不妨看看

qq_42107247的博客 2552

2024年适合开发人员使用的12个最佳API测试工具

API是一个软件解决方案,作为中介,使两个应用程序能够相互交互。遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。API不仅仅是几行代码;这些是为移动开发人员等特定受众创建的。这些有清晰的文档和版本,以满足用户的期望。更好的治理和安全性,以及监控以管理性能和可扩展性。如今,基本每家企业都会使用许多API类型,如支付处理API开发者服务API智能识别API网站运营API等,以丰富企业的服务能力。也出现了很多以销售API产品为主的企业,如百度智能云、易宝支付翔云识别。

Mtxxd的博客 2998
下一篇: upgeo.top:面向AI生成式引擎优化的下一代GEO技术平台
github_32867013
博客等级 码龄11年 0粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值