本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。
最近公司要引入API测试工具,经过调查和了解,最终决定在SoapUI 和 Postman两种工具之间做一个选择,两种工具在业界都很有名,相信很多人两种工具也都曾使用过。
SoapUI SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。SoapUI Pro是SoapUI的商业非开源版本,实现的功能较开源的SoapUI更多。
Postman
Postman是由Postdot Technologies公司打造的一款功能强大的调试HTTP接口的工具,它最早是Chrome中最受欢迎的插件之一,现已扩展到Mac,Windows和Linux客户端。 软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。Postman分免费版和收费版本。
下面我们对这两个工具通过多种维度进行对比,相信通过这些对比维度综合得出的结果,能对也处在为测试工具选型阶段的你带来一些启发和帮助。
通过百度搜索指数可以看出,以近一月的搜索趋势来看,Postman的搜索指数明显高于SoapUI(约5倍),而且整体趋势来看,Postman的搜索趋势仍在增长,说明Postman的知名度高于SoapUI,并且未来仍有潜力。
SoapUI
Postman
从官方提供的各自产品用户来看,SoapUI 有更多的知名厂家使用。
SoapUI:传统Windows 产品界面,使用弹窗来表示不同界面,界面表现复杂
PostMan:使用Tab 来表现界面,界面简洁易用。
测试类型
工具 | 测试类型/接口类型 | |
---|---|---|
SoapUI | API测试:Soap协议,http协议 压力测试 安全测试 | Soap报文,XX系统 Win 部分和服务器之间的沟通协议。 http协议:http,https请求 |
PostMan | http协议 压力测试 |
组织方式:SoapUI的组织方式更复杂,也更灵活。
SoapUI:
Postman:
SoapUI: SoapUI+UnitTest 实现接口自动化测试 ,也可以和jenkins 集成。
Postman: Postman + Newman + Jenkins 实现接口自动化测试
都支持接口自动化,SoapUI对编码要求更高一些。
SoapUI:Groovy脚本,JavaScript(经过测试发现支持的不好,尝试提取前一次请求返回内容时会失败)
Postman:JavaScript
工具 | 变量类型 | 作用域 |
---|---|---|
SoapUI | Project、TestSuite、TestCase的Properties以及Custom Properties | 各自以内的范围内 |
TestCase里的Properties | 在整个TestCase内 | |
TestCase里的Data Source、DataGen等 | 在整个TestCase内 | |
Groovy脚本定义,JavaScript | 看定义方式 | |
Postman | Environment Variable | 当前环境的Collection |
Global Variable | 所有Collections | |
CSV/JSON datafile | Runner当前的Collection |
工具 | 数据源 | 生成器 | 循环 |
---|---|---|---|
SoapUI | Pro 版本:DataSource,数据可来源于文件、目录、数据库、Excel、Grid等 | Pro版本:DataGen | Pro版本DataSource Loop |
Postman | Runner中运行时,可加载CSV/JSON文件 | 无(只能通过脚本) | Runner中的Iteration |
工具 | 结果 | 日志 | 报告 |
---|---|---|---|
SoapUI | Project-OverView、TestSuites TestSuite-TestCases TestCase-TestSteps | SoapUI全局多种log TestSuite log TestCase log Request log | Project report TestSuite report TestCase report (HTML/XML/CSV) |
Postman | Send可查看Request的Response Runner可查看运行的Result | Postman console Chrome DevTools | Request的Response以及Runner的Result均可导出json 可以自定义Report |
SoapUI: 需要通过Groovy 脚本来管理。
Postman: 工具自动管理
SoapUI: 支持在每个API请求上设置。
Postman: 系统Setting中统一设置。
SoapUI: 不支持。
Postman:支持,可以方便在不同环境进行切换测试。
SoapUI:本身一个project是一个xml文件,但是可以通过配置变成一系列文件夹,每个Case、每个Suite均是独立的文件,这样可通过svn/git进行团队协作。支持性较好
Postman:有团队协作的功能,需要付费。也可以通过Imort/Export 成文件后通过svn/git进行团队协作,一个Collection 可以到处为一个文件。
工具 | 工具成本 |
---|---|
SoapUI | 社区办免费,开源 高级版本收费 |
PostMan | 基本版本免费 |
综合考虑,如果只是进行Http,https 接口测试建议使用Postman 作为API测试工具,最主要的理由是,简洁易用,学习成本低。