SoapUI、Jmeter、Postman三种接口测试工具的比较分析

news/2024/11/23 5:12:16/

前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下。本文从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具。(不同工具定位不同,我们只是主要从接口功能测试的角度进行分析)。

1.  用例组织方式

首先是用例组织方式的不同,不同的目录结构与组织方式代表不同工具的测试思想,学习一个测试工具应该首先了解其组织方式。


SoapUI的组织方式如下图,最上层是WorkSpace,每个窗口只可以打开一个WorkSpace(这是一个xml文件),每个Project也是一个单独的xml文件(为了协同工作,也可以通过设置将其转化为一堆文件集合),所以每个WorkSpace中可以打开多个Project,一个Project也可以在不同的WorkSpace中。

Project对应我们的测试项目,其中可添加WSDL、WADL资源、TestSuite以及MockService。

TestSuite对应我们的测试模块,比如商户中心,其中可以添加TestCase,TestCase对应我们对某个模块的不同接口,比如订单管理接口。而一个接口可以能需要多个Step完成,变量、数据源、请求等都是一个Step。

 

Jmeter的组织方式相对比较扁平,它首先没有WorkSpace的概念,直接是TestPlan,等价于SoapUI中的Project,TestPlan下创建的Threads Group就相当于TestCase,并没有TestSuite的层级。

TheadsGroup中的Sampler、管理器等均相当于SoapUI中的一个Step,如下图:

 Postman功能上更简单,组织方式也更轻量级,它主要针对的就是单个的HTTP请求。Collection就相当于是Project,而Collection中可以创建不定层级的Folders,可以自己组织TestSuite。每个Request可以当做是一个TestCase或者Step:
 

 

2.  支持的接口类型与测试类型

从功能上Jmeter最为强大,可以测试各种类型的接口,不支持的也可以通过网上或自己编写的插件进行扩展。SoapUI专门针对HTTP类型的两种接口,其初衷更是专门测试Soap类型接口,对于其他协议的接口不支持。Postman更是轻量级,定位也不同,可用来测试Rest接口。

 

3.  配置不同接口类型

  • SoapUI可以创建Soap Project或者Rest Project(但Project中添加什么类型的Step则不受影响),可添加wsdl、wadl资源,并能在TestCase里添加Rest或Soap的Step。
  • Jmeter可以在线程组里添加HTTP、TCP或WebSocket的Sampler。
  • Postman仅支持Rest接口。
     

4.  自定义变量以及变量的作用域

除以下表格中所列的变量之外,每个工具都有系统变量,未列在内。

 5.  数据源、生成器,进行参数化

 

6.  流程控制

  • SoapUI:由Conditioinal Goto控制流程,以及Groovy脚本

  • Jmeter:由Switch控制器、If控制器、随机控制器等一系列控制器实现流程控制,以及Beanshell脚本

  • Postman:通过JavaScript脚本控制

7.  结果解析、展示

 

8.  断言

  • SoapUI:每个Request可添加Assertion

  • Jmeter:TestPlan、Threads Group、Sampler均可添加断言

  • Postman:请求的Tests中可添加断言

9.  脚本扩展能力

  • SoapUI:Groovy脚本

  • Jmeter:Bean shell(Java)

  • Postman:JavaScript

10. 团队协作

  • SoapUI:本身一个project是一个xml文件,但是可以通过配置变成一系列文件夹,每个Case、每个Suite均是独立的文件,这样可通过svn/git进行团队协作。支持性较好
  • Jmeter:一个TestPlan也是一个jmx(xml)文件,无法分割,但Jmeter有一个合并的功能,允许将多个文件合并在一起。只能每个团队成员自己建立一个TestPlan,分功能块进行测试。最后整理合并。
  • Postman:有团队协作的功能,需要付费

http://www.ppmy.cn/news/110771.html

相关文章

sc4020配置方法

A控制器的IP地址---管理ip 192.168.1.245 GUI 192.168.1.246 网关 192.168.1.1 B控制器的IP地址---管理ip 192.168.1.248 GUI 192.168.1.247 网关 192.168.1.1 A和B控制器心跳地址 192.168.1.244 配…

主流耳机耳塞评价

森海塞尔 MX300: 声音粗放,中低频量感较足,高频延伸不足,低频有时显得过于肥大,定位一般,但考虑它的价格,这样的性能是情理之中的。 MX400: mx500的简化版,主要差别在于高频细节的控制&am…

miui资源全集K60 K50 k40 k30 K20 小米14 小米13 小米12 小米11-小米6

中文版站点 https://roms.miuier.com/ 英文版站点 https://xiaomifirmwareupdater.com/ rom下载地址 开发版: https://miuiver.com/tag/natrium-developer-rom/ 稳定版本: https://miuiver.com/tag/natrium-stable-rom/ 线刷版本: https://…

k60 介绍

学习K60 就像玩游戏 一样,教程 就是 攻城策略,先有 良好的 基础,再来 攻破 K60 …… 例如 k60 的 PORT 管脚管理模块 ,他就好比城门兵,管理端口的 复用和配置属性。 GPIO 就 好比 步兵那样,简单易用&…

K210开发2-上手

基于Sipeed Maixduino 开发板 开发 因为对python熟悉,先由maixpy进行开发,在使用boss的固件系统开发。 开机自启动脚本 系统会在/flash或/sd(优先)目录创建boot.py和main.py,开机会自动先执行boot.py,再执行main.py (如果检测到…

NXP S32K1 FlexTimer模块

概述 FlexTimer是S32K1xx中功能最强最复杂的Timer,其基于16bits的Counter能够实现:输入捕获、输出比较、产生PWM、正交解码等功能。 S32K1具备2、4、6、8个不等的FTM实例,每个实例有8个通道,还具有1,2,3&a…

联想E420开机黑屏20秒的解决办法

2011年买的电脑,联想E420 1141A64,自己装的系统,发现开机特别慢,windows7的动画结束之后,总会有一个20秒左右的黑屏时间。非常不爽。而且,电脑运行也很慢,总是卡住,没有三年前买的Th…

K210 串口通信

1. 头文件 #需要调用的库文件 from machine import UART from Maix import GPIO from fpioa_manager import fm import ustruct from 模块 import 方法或者函数 函数可以直接使用,不用 machine.UART 2. 管脚映射 #映射UART2的两个引脚 fm.register(GPIO.GPIOHS1…