(转)仅供个人学习-接口测试工具:jmeter、postman、soapUI的区别

摘要:
Jmeter的组织结构相对平坦。首先,它没有WorkSpace的概念。它直接是TestPlan,相当于SoapUI中的Project。在TestPlan下创建的ThreadGroup相当于TestCase,并且没有TestSuite级别。工具接口类型测试类型SoapUISoap、Rest函数、压力、安全JmeterRest、Soap等可扩展WebSocket、套接字函数、压力PostmanRest函数3。配置不同的接口类型SoapUI以创建SoapProject或RestProject,添加wsdl和wadl资源,并在TestCase中添加Rest或Soap步骤。Postman仅支持Rest接口。每个团队成员只能创建一个TestPlan,并由功能块进行测试。邮差:它具有团队协作的功能,需要付费

1.  用例组织方式

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

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

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

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

(转)仅供个人学习-接口测试工具:jmeter、postman、soapUI的区别第1张

 

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

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

(转)仅供个人学习-接口测试工具:jmeter、postman、soapUI的区别第2张

 

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

(转)仅供个人学习-接口测试工具:jmeter、postman、soapUI的区别第3张

 

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

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

工具

接口类型

测试类型

SoapUI

Soap、Rest

功能、压力、安全

Jmeter

Rest、Soap等

可扩展WebSocket、socket

功能、压力

Postman

Rest

功能

3.  配置不同接口类型

SoapUI可以创建Soap Project或者Rest Project(但Project中添加什么类型的Step则不受影响),可添加wsdl、wadl资源,并能在TestCase里添加Rest或Soap的Step。

Jmeter可以在线程组里添加HTTP、TCP或WebSocket的Sampler。

Postman仅支持Rest接口。

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

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

工具

变量类型

作用域

SoapUI

Project、TestSuite、TestCase的Properties以及Custom Properties

各自以内的范围内

TestCase里的Properties

在整个TestCase内

TestCase里的Data Source、DataGen等

在整个TestCase内

Groovy脚本定义

看定义方式

Jmeter

TestPlan中用户定义的变量

所有Threads Group

配置元件 - 用户定义的变量

根据元件位置而定

CSV data set、random variable等

根据元件位置而定

前置、后置处理器

当前Threads Group

Postman

Environment Variable

当前环境的Collection

Global Variable

所有Collections

CSV/JSON datafile

Runner当前的Collection

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

工具

数据源

生成器

循环

SoapUI

DataSource,数据可来源于文件、目录、数据库、Excel、Grid等

DataGen

DataSource Loop

Jmeter

CSV Data Set Config读取csv文件

Random Variable

计数器

ForEach控制器

循环控制器

While控制器

Postman

Runner中运行时,可加载CSV/JSON文件

无(只能通过脚本)

Runner中的Iteration

6.  流程控制

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

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

Postman:通过JavaScript脚本控制

7.  结果解析、展示

工具

结果

日志

报告

SoapUI

Project-OverView、TestSuites

TestSuite-TestCases

TestCase-TestSteps

SoapUI全局多种log

TestSuite log

TestCase log

Request log

Project report

TestSuite report

TestCase report

(PDF/HTML/XML/CSV)

Jmeter

各种监听器

统一的Jmeter log

监听器可导出到文件

并可导出JTL、CSV文件、通过插件可导出HTML(Jmeter3自带)

Postman

Send可查看Request的Response

Runner可查看运行的Result

Postman console

Chrome DevTools

Request的Response以及Runner的Result均可导出json

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:有团队协作的功能,需要付费

免责声明:文章转载自《(转)仅供个人学习-接口测试工具:jmeter、postman、soapUI的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇常用php操作redis命令整理(三)LIST类型Java: Integer vs int下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jmeter之设置线程组运行次数/时间

线程组的设置 线程组运行的次数=线程数*循环次数 Ramp-Up Period:表示启动时间 例如:线程数:10,循环次数:10,Ramp-Up Period:2 表示,这个线程组一共有100个线程(线程数*循环次数),并且在2s内启动,每秒启动50个线程(线程数*循环次数/Ramp-Up Period = 100 / 2) 调度器配置(设置运行时间...

win10 Jmeter5.1进行websocet压力测试笔记 服务端 net core2.2

1. win10安装jmeter5.1 参考文件 https://blog.csdn.net/Jenny_He/article/details/88926605 2. JMeter 扩展实现 WebSocket 支持 JMeter 是目前最为流行的开源性能测试工具,JMeter 本身提供的基于插件的机制允许第三方实现标准 JMeter 所不支持的协议,而...

【苏勇老师Linux 入门笔记】网络基础

IP 地址   IP 编制时一个双层编制方案,一个 IP 地址标示一个主机 (或一个网卡接口)。 一个 IP 地址分为两个部分:网络部分(所属区域)和主机部分(标示区域中的哪个主机)。IPv4 共32位,通常用点分十进制表示。 子网掩码用于将网络部分和主机部分区分开来,子网掩码为1(二进制)的部分为网络部分。   MAC地址主要用于同网络间主机的通信...

系统接口权限设计

  一、     前言 随着时代发展和技术的进步,系统也在不断发展和完善,从原有的单一的企业开发使用,到现在的跨平台、多系统、多用户的集成对接开发模式。系统的发展也是非常迅速的,很多设计和对接模式也需要不断的改仅和升级。现在的一个系统往往不单单是某一个团队开发、使用,而是多个团队同时开发不同的模块,以及现在的系统往往是平台化的,一些第三方在使用对接的时候,...

调用webservice接口,报错:(十六进制值0x01)是无效的字符

#事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符。如图:意思是webservice返回的信息中包含无效的字符,无法解析成xml; #分析 使用postman向webservice发送请求,请求成功,返回了数据,但在数据中发现了一些莫名其妙的字符,如图:因数据来源数据库,故去数据库中查询,果然又发现,如图:将异常文本复制到...

AWTK 中 LCD 接口的四种实现方式

LCD 接口的四种实现方式 LCD 是对显示设备的抽象,提供了基本的绘图函数。自己去实现 LCD 接口虽然不难,但是需要花费不少功夫,AWTK 提供了几种缺省的实现,利用这些缺省的实现,在移植到新的平台时,一般只需要很少的代码就行了。 下面我们介绍一下几种常见的 LCD 实现方式: 一、基于寄存器实现的 LCD 在低端的嵌入式平台上,内存只有几十 KB...