当前位置:文档之家› SOAPUI入门教程

SOAPUI入门教程

SOAPUI入门教程
SOAPUI入门教程

SOAPUI入门教程

近期发现一个测试web service(WS)的工具–SOAPUI,这是一款很专业的WS测试软件,能共提供全方位的WS功能测试和性能测试,上手比较快,使用方便。软件整体结构设计的很合理,明晰。让人一看就很容易上手。以下是翻译自其官方站的入门文档,有兴趣的同学们可以参考下。官方站地址:

https://www.doczj.com/doc/f216934605.html,/

Getting Started with soapUI

?以下你们将看到一个包含测试用例和请求的soapUi工程的创建过程。测试使用的是Amazon开放web service接口。虽然soapUI上手比较的容易,但是我们依旧需要对一下的知识有较全面的了解以便掌握soapUI的大部分功能的使用能力。包括:

?WSDL-基本的概念(services, ports, bindings, port types)以及相关的xml-schema

?SOAP-基本概念,与WSDL的关联关系,不同的编码(soap-encoded/literal)以及消息类型(document/rpc)

?XML相关知识- XPath, XML Schema, namespaces等

注:参考网站—W3POP

Install and Run soapUI

Install and Run soapUI in one of the following ways:

可以在此网站的top page,下载到最新的使用Java WebStart的版本

通过SourceForge soapUI Web Site下载并使用windows installer(包含必须的1.6 JRE)安装。当你不能确定系统的java环境或者你想使用开始菜单的图标启动和卸载的时候,可以使用windows installer。

SourceForge在下载binary版本(例如soapui-1.5-bin.zip),然后解压并手动安装并运行bin\soapui.bat (or .sh) 脚本 (需要path中配置java环境).

无论如何,soapUI要使用一个空的workspace来启动并展示在你面前

The Getting Started guide

Your first soapUI Project

步骤:

创建一个测试工程

添加一个WSDL的web service描述文件

创建一些request

创建或导入一个Web Service testing project

在左边的导航栏里面右键单击Projects根节点

将会提示你选择的项目,如图

如果你下载的是桌面版,在根目录下会有一个

sample工程,选择import project并导入此工

程以便浏览

Add a WSDL to create tests from

现在你拥有了一个可以添加interfaces(i.e. Web Service PortTypes)到其中的工程了

在项目节点上右

键单击并选择”Add WSDL from URL”

获得提示并填入Interfaces WSDL; 回车

https://www.doczj.com/doc/f216934605.html,/AWSECommerceService/AWSECommerceService.wsdl 就添加了amazon的web service,然后选择OK。

此时,soapUI会提示你是否为每一个operation创建默认的request,选择Yes soapUI将为amazon “AWSECommerceServicePortType” PortType添加SOAP/Http Binding 到你的项目,然后为每个operation创建nodes。

Try some Web Service requests

现在你已经添加amazon的web service

并可以开始添加request了。你如果为

interface的operation创建了默认的

request,那么你就会看见“request 1”。

双击这个request打开editor界面(下

图)

Request editor界面氛围以下3个部分:

上部的工具栏包含一部分与request相关

的actions/options,之下的左半部分是

request区域,右半部分是response区

域。

默认创建的request包含“?”这个

value,此处可以被任何合法的value所

替换。点击左上角的绿色箭头可以发送

此request,得到的response将在右边

的response editor中显示

Getting Started with Functional Testing

你已经导入了一些WSDl文件并尝试了一些requests。现在你可以创建你的第一个TestCase。在soapUI中,功能测试可以用来验证起本身的任意功能(相当于单元测试)也可以验证一系列功能的整合(相当于集成测试)。不仅如此,你还可以添加脚本(使用Groovy Language)在任何角度来增强你的测试,例如与数据库交互或者实现复杂的测试流程。

Create a Web Service Test from SOAP request

如果一些requests能够按你期望

工作的话,你就可以创建

TestCase了。在request editor

中选择工具栏第二个按钮((“Add

this request to a test-case”)。

如果在你的项目里面没有

TestSuite或者TestCase,soap

会提示你命名并创建他们。然

后,soapUI会提示你为你的test

request命名,并将这个test

request放在你刚刚创建的

TestSuite和TestCase下,之后

会打开一个心得request editor

(与之前的一样),不同之处在

于,在新的editor中可以添加

assertion来验证response。

Add an Assertions to a test

现在你可以为创建好的test request新建一些assertion(断言)了,在test-request-editor (以后成为editor)界面的工具栏的第二个

按钮(“Add an assertion to this test request”).

首先创建一个”Schema Compliance” assertion,起作用是检response的格式时候符合关联的WSDL文件的要求,此外还有很多类型的assertion,如下图。使用绿色箭头发送request,然后会验证response。如果一切正确的话,在导航树相应的图标处会显

示绿色的背景颜色

Now run your web service test!

当你创建好所有的test request和他们的

asser,你就可以云新整个test case了。在test

case节点上双击,就能打开test-case runner,

运行这个test case,结果即可显示出来了。

Once you have all the test request and their

assertions you want you can run the entire

TestCase

Getting Started with Web Service Load Testing

soapUI引入了使用简单而功能强大的性能测试功能SOAP LoadTesting,可以让你实现:

根据不同的测试用例来验证web service的性能

在负荷运行的情况下不会出现break的情况

同时运行多个load test,查看时候会他们是否会互相影响

我们使用之前创建的test suite来了解load test。在test case节点上右键单击,选择“new LoadTest”

这个LoadTest被预先配置,在简单的LoadStrategy 下使用5个线程运行60秒(右上角Limit)。可以根据需要去更改这些值(了解更多soapUI LoadTest Configuration)。运行这个test,就能在表格里面看到相应的统计数据,在60秒后,可以得到一个完成的loadTest(了解更多LoadTest Execution)

Add Assertions to a Load Test

soapUI允许添加LoadTest Assertions到LoadTests,这就好像添加assertion到功能测试的test step中一样。当你创建LoadTest,soapUI将总是添加一个TestStep Status Assertion,我们将添加一个TestStep Max Assertion去验证我们的testCase不会超过一定的运行时间。

选择位于LoadTest Editor 底部的“LoadTest Assertions”标签,点击“Add Assertion” 按钮,选择“Step Maximum” assertion,然后按如下配置:

Maximum

assertion检查一个

步骤的时候不会超

过设定的值

Name – assertion

的名字,默认即可

Minimum Requests

–在应用这个

assertion之前,最

小的runs数。我们

允许最先的10个

testCase runs通

过。

Max Time –允许运

行的最长时间.

Max Errors –

在取消这个

loadTest之前所允

许出现的错误最大

数。我们允许在

Max Time内出现5

个错误。

TestStep – t被添

加assertion的

testStep。

Run again!

现在我们运行这个LoadTest,它会显示如下结果

你可以在日志中双击一个assertion failure去查看实际的request失败原因,允许你debug request/response,双击错误会显示如下

相关主题
文本预览
相关文档 最新文档