• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.特点
  • 5.基本测试框架
  • 6.优缺点
  • 6.1.优点
  • 6.2.缺点
  • 7.参考资料

soapui

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

基本信息

  • 中文名

    SoapUI

  • 外文名

    SoapUI

  • 实质

    一个开源测试工具

  • 优点

    容易管理服务端点等

  • 缺点

    不支持JMS协议等

  • 学科

    计算机科学

简介

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中使用。2

特点

1.Groovy Script 支持SOAPUI

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

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

2.灵活的属性传值模式

属性传递在SOAPUI中是一种TestSteps在属性容器之间传递属性,可以使用Xpath或XQuery表达式来指明属性传递源端和目的端,可以包含任意数目的属性传递。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服务的测试。2

基本测试框架

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.*