soapUI

更新时间:2022-08-25 17:14

soapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。把一个或多个测试套件(TestSuite)组织成项目,每个测试套件包含一个或多个测试用例(TestCase),每个测试用例包含一个或多个测试步骤,包括发送请求、接受响应、分析结果、改变测试执行流程等。

简介

SOAPUl是由标准的Java Swing开发的一个GUl自动化测试工具,从某种程度上说,它是JUnit测试框架的扩展和衍生。SOAPUI工具提供了包含操作层面和模式层面的完整的WSDL覆盖程度分析,使到达每个元素的所有路径都被测试过了。它提供了测试重构能力,使用户可以随着WSDL的更新重构他们所有的测试。测试重构甚至还考虑到了更新过的WSDL会如何影响到XPath表达式。SOAPUl的需求管理功能可以将测试用例和需求有机地结合起来,其中需求可以被直接键入或者导入。SOAPUl可以直接从一个数据源得到测试数据。

SOAPUI根据WSDL生成SOAP数据包,手工填入参数后可以直接进行性能测试。SOAPUI能够捕捉SOAP请求和响应、创建测试请求、测试用例并且提供仿真的服务。

SOAPUI提供一个工具通过SOAP/HTTP来检查、调用、实现Web服务间的功能、负载、符合性测试,该工具既可作为一个桌面应用软件使用,也可利用插件集成到Eclipse、maven2.X、netbeans和intellij中使用。

特点

1.Groovy Script 支持SOAPUI

SOAPUI最强大的是Groovy脚本测试步骤。Groovy充分利用了工业标准JUnit框架,来简化单元测试的创建和使用过程。单元测试在Groovy中的应用集成了动态类型语言和静态类型语言的安全性。

一个Groovy测试步骤可以是任何Groovy代码,也就是说基本上Groovy能做的事情,在SOAPUI测试步骤中也能做。测试步骤中的Groovy 代码可以访问SOAPUI框架。一个Groovy 测试步骤可以通过JDBC读取数据库的信息,与前一个测试步骤的响应信息进行比较,并相应地修改执行流程,也可以执行另外一个TestCase。SOAPUI中使用Groovy脚本来编写断言,可以重用测试脚本,编写同一Groovy脚本代码可以重用到其它所有的测试用例里面。

2.灵活的属性传值模式

属性传递在SOAPUI中是一种TestSteps在属性容器之间传递属性,可以使用XpathXQuery表达式来指明属性传递源端和目的端,可以包含任意数目的属性传递。XPath/Xquery断言描述和属性传递使用同样的Saxon XPath/XQuery引擎。

SOAPUI可以采用多种方式来传递属性,这样可以在TestStep之间更加灵活地传递属性值。

3.SOAPUI中的Mock 服务

Mock是一个映射对象,它可以避免编写复杂的、不完整的、难以保持和难于理解的测试代码[]。使用Mock可以使许多有价值的代码单独测试,Mock可以隔离被测代码间的关联程度,Mock对象的出现可以简化测试结构,避免被测代码因环境问题而出现的意外污染,可以保证一个时间段测试代码的特性,并在被测代码出现问题时,及时通知测试人员。

SOAPUI实现了Mock服务,Mock服务可以从不同的WSDL文件中展现任意的虚拟操作MockOperations,同时也可分派其虚拟响应Mock Response,Mock 服务可以直接在SOAPUI中运行或者通过命令行模式的MockServiceRunner来运行,它也可以调用包括SOAPUI本身在内的任意客户端。SOAPUI可以在TestStep模拟soap请求,来实现异步Web服务的测试。

基本测试框架

SOAPUI的核心对象模型定义了SOAPUl中所有的模型对象(工程、接口、操作等),是一个抽象接口并且是只读的。

SOAPUI集成了许多API函数和扩展的API,可以直接用在其它程序中。主要的类库工具包及其功能介绍如下:

1)com.eviware.SOAPUI.model.tree定义了树型模型TreeModel用于SOAPUI的navigator,它包含了SOAPUITreeNode,当前,针对增加新的核心模型的实现,SOAPUI并没有提供一个builder/factory 机制。WSDL1.1的核心对象的实现core-implementation是硬编码到当前工作台的实现类。

2)com.eviware.SOAPUI.impl.WSDL.*

实现了核心对象模型WSDL/SOAP/HTTP-Binding包含核心对象模型的实现,每个实现类都在相应的配置文件的元素使用相应的XMLBeans来描述;此工具包还包括了所有模型对象元素实现行为和所有WSDL/SOAP相关支持类(如效验,导入等)。

3)com.eviware.S0APUI.impl.WSDL.teststeps.*

包含断言相关类TestStep的衍生类。

优缺点

优点

(1)SOAPUI工具适合QA和测试人员,而不需要开发人员使用编程来实现测试用例。它能够基于WSDL自动产生测试消息。

(2)SOAPUI能够直接引用外部的属性文件来简化测试步骤,通过建立断言SOAPUI可以进行XML模式效验和错误效验。

(3)SOAPUI可以用于压力测试,容易管理服务端点。

(4)SOAPUI提供方便的接口能够集成JBoss、Ant、XMLBean、ApacheTCPMon等多种工具。

(5)SOAPUI可以完成多种WebService的测试场景。

缺点

(1)S0APUI使用的是自己的Web服务客户端,它创建的测试消息不同于通常意义上的基于JAX或者其它的Web服务客户端的工作过程,S0APUI并不从WSDL中产生Java类,它也不处理Java对象的序列化和反序列化,这样的结果是客户端并不是像真正的Web服务消费者那样去调用Web服务。

(2)SOAPUI的RequestTransportRegistry类并不提供从外部增加新的协议的机制,它不支持JMS协议。

(3)SOAPUI中不能控制Mock服务的WSDL文件服务端点的URL,也就是说,如果需要WSDL请求在到达实际的Mock对象之前被其它对象处理,是无法控制的,此问题还有待于进一步的研究和分析。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}