在SoapUI中示例SOAP项目
https://www.soapui.org/tutorials/soap-sample-project.html
soapUI官网教程
在SoapUI中示例SOAP项目
为什么使用SoapUI Pro进行Web服务测试?
虽然SoapUI Open Source可以看作是瑞士军刀的测试版,但是SoapUI Pro是最尖锐的工具。应用于测试Web服务,SoapUI专注于提高效率和可用性。随着点和点击测试,你可以拖放,而不是手动编写代码。表单编辑器根据您的请求创建表单,无需花时间进行重复编码。大纲编辑器简化并公开XML结构。这些功能使您的测试更省时。如果创造力,流量和速度对你来说是重要的测试者,那么SoapUI Pro就是为你准备的。
试用SoapUI Pro - 世界上最强大的Web服务测试工具
Web服务示例项目
不管它有多复杂,开始使用新的应用程序总是一个挑战。为了开始,SoapUI带有一个可以作为参考和启发的示例文件。
注意:如果您在安装产品时选择不安装教程,则没有示例文件。使用SoapUI安装程序更新现有安装并访问示例文件。
该示例演示了SoapUI的一些基本概念,可以作为一个起点。试试这个项目,运行包含的模拟服务并测试以熟悉SoapUI界面,然后继续阅读Your First SoapUI项目教程。
以下是SoapUI项目中说明的主要概念。
导入项目
首先打开项目。
-
单击
主工具栏或右键单击导航器面板中的根节点,然后选择导入项目:
-
在Select SoapUI Project File对话框中,从<Home目录> / SoapUI-Tutorials文件夹中选择Sample-SOAP-Project-soapui-project.xml文件。
-
示例项目将显示在SoapUI导航器中。
SoapUI项目的结构如下:
-
项目
-
接口
-
测试套件
-
模拟服务
-
我们先从模拟服务开始。
1. Web服务嘲弄
介绍
Web服务模拟是一种伪造或模拟Web服务功能的方法。
在Web服务的实现尚未开始或尚未完成的项目中,或出于某种其他原因无法访问Web服务的项目中,Web服务模拟非常有用。
换句话说,Web服务模拟使您可以在开始开发Web服务的同时开始为Web服务创建测试。这意味着,当真正的Web服务准备好进行测试时,您已经完成了测试。这可以是非常强大的,并允许在您的工作流中使用测试驱动和敏捷方法。
在SoapUI中,您可以为单个Web服务请求创建一个模拟服务,或者在接口中生成包含每个已定义响应的模拟服务。
您可能也对ServiceV感兴趣,它提供了更多创建虚拟服务的功能。免费试用ServiceV Pro。
教程
要添加模拟服务:
-
右键单击该接口并选择生成SOAP模拟服务。
-
在“ 生成MockService”对话框中,可以为新的模拟服务指定所需的参数。保留现在的默认设置,然后单击确定。
-
输入您的模拟服务的名称,然后单击确定。
注意:示例项目已经包含一个默认名称的模拟服务。确保为新的模拟服务指定了不同的名称。
模拟服务现在将成功生成:
然后,您可以选择如何响应请求并选择如何分派(发送)不同的响应。
示例项目已经包含ServiceSoapBinding模拟服务。让我们来看看这个模拟服务是如何工作的:
-
通过双击ServiceSoapBinding MockService打开它:
-
通过模拟服务(登录,注销,搜索和购买)中的不同操作浏览,看看我们用不同的请求做什么。正如你所看到的,所有的请求都是通过脚本分派的。这是调度最常用的方法,但是在项目的早期阶段,您可能只想创建一组响应,然后按顺序或随机调度。
-
您现在应该可以看到端口8088上运行的模拟服务:
2. Web服务检查
介绍
当您想了解Web服务的工作方式时,Web服务检查可以在测试过程的早期阶段非常有用。您可以通过两种方式来执行此操作:检查Web服务的WSDL文件并发出Web服务请求。
教程
-
双击ServiceSoapBinding节点以打开界面编辑器。
-
打开WSDL内容选项卡。WSDL文件是一个XML文件,可能很难查看和理解它。但是,WSDL文件是一个Web服务的规范,越好理解它,使用该服务就越好。SoapUI界面可以帮助您查看您的WSDL文件:
要了解有关WSDL文件的更多信息,请参阅使用WSDL。
我们来看看Web服务请求:
-
在“ 导航器”面板中展开登录节点,然后双击登录rq请求。该请求已经包含用户名和密码。
-
点击
提交请求。
注意:确保你运行模拟服务来获得响应。
您现在应该在“响应”面板中看到响应:
提示: SoapUI Pro允许您以不同的格式查看请求和响应
3. Web服务的功能测试
介绍
我们来看看SoapUI中的测试是如何工作的。示例项目包含三个不同的测试套件,全部包含不同的测试用例。测试用例由几个测试步骤和负载测试组成。所以,测试套件的结构如下所示:
-
测试套件
-
测试用例
- 测试步骤
- 负载测试
-
注意:正如你所看到的,也有负载测试。这些将在本教程稍后介绍 。
教程
现在我们来看一个测试用例中的功能测试。
-
展开Simple TestSuite并双击第一个测试用例:简单登录和注销w。属性步骤:
正如你所看到的,测试用例由五个测试步骤组成。
-
打开“描述”选项卡查看测试案例描述。
-
该步骤由三种不同类型的测试步骤组成:
-
一个属性测试步骤
-
两个SOAP请求测试步骤
-
两个财产转移测试步骤。
这是他们做的事情:
-
属性:
存储属性供以后使用。在我们的例子中,这些是登录所需的用户名和密码属性。 -
SOAP请求:
对服务器的实际请求。在这个测试用例中有两个请求:登录和注销请求。 -
Property Transfer(财产转移):
一个步骤用于在不同步骤之间移动财产值。您可以使用它将属性测试步骤中的值移动到诸如“属性转移:移动用户名和密码”之类的请求。您也可以将属性从请求测试步骤移动到另一个请求测试步骤,如 Property Transfer:Move sessionID test步骤。
-
-
双击属性传输:移动用户名和密码测试步骤。
此属性传输测试步骤从源属性获取值并将其分配给目标属性。检查TransferUser转移。它从属性:用户名和密码测试步骤采取用户名属性,并将其移动到测试请求:登录测试步骤。然后看TransferPass转移。它从“ 属性:用户名和密码”测试步骤接收密码属性,并将其移至“ 测试请求:登录测试”步骤。
-
SoapUI的一个重要特性是断言。断言验证响应是我们所期望的。打开测试请求:登录测试步骤。
在测试步骤中,我们有三个主张不同事物的断言:
-
SOAP响应 - 声明响应是SOAP响应。
-
架构遵从性 - 声明它符合架构。
-
不是SOAP错误 - 声明它不是SOAP错误。
要了解更多关于断言的信息,请参阅断言入门。
-
测试运行
现在我们已经检查了测试用例,让我们来运行它!按下运行测试。测试用例进度条显示进度:
如果测试用例失败:
-
它只有一步后变红了吗?
不要忘记开始模拟服务。 -
你之前是否运行过测试步骤?
看看这些回复 - 可能是一个登录请求已经发送。如果是这样,您先登录,不允许再次登录。要解决该问题,请转到模拟服务,停止并重新启动服务。这将清除有关在服务器上运行的所有会话的信息。现在,重新运行测试。
4. Web服务负载测试
介绍
SoapUI中另一个有用的功能是能够快速创建负载测试。为什么这是有用的?您可以越早运行负载测试,越早发现任何性能问题。在SoapUI中,通过右键单击功能测试并选择New LoadTest来创建负载测试。完成!
SoapUI负载测试允许您立即测试Web服务可以一次又一次快速响应相同的请求。
要了解更多信息,请参阅负载测试概述。
教程
-
转到Expanded TestSuite>搜索和购买TestCase。在这个测试案例中有四个不同的负载测试,每个负载测试策略一个。
现在,我们将选择LoadTest:简单策略负载测试。这个测试是基于简单的负载策略,这是一个非常基本的策略与随机延迟。要了解有关策略的更多信息,请参阅模拟不同类型的负载。
-
让我们来配置测试。
Simple策略有以下设置:
- 限制 - 您希望测试运行的秒数。
- 线程 - 使用线程的数量。现在,我们将使用一个线程。
- 测试延迟 - 在每个测试用例运行之间设置一个延迟(以毫秒为单位)。在我们的测试中,我们将其设置为200毫秒。
-
随机 - 设置如何随机更改测试延迟值。值0.5意味着随机值应该是测试延迟值的一半。也就是说,实际的延迟将在100到300毫秒之间。
如果将Random设置为0,则不会有任何随机延迟。在我们的例子中,一直是200毫秒。
-
点击
运行负载测试。
正如你所看到的,表值不断更新。您可以看到响应时间的每秒吞吐量(tps),断言,错误,测试运行百分比等值。
-
点击
查看测试运行图:
要了解更多信息,请参阅导出数据和统计信息。
在SoapUI加载测试中,你也可以做断言。最重要的断言之一是最大错误断言。
这个断言监视测试运行期间允许的最大错误数量。让我们看看它是如何工作的:
-
打开模拟服务,点击
停止。
-
打开负载测试并单击
运行它。过了一段时间,测试将失败。这将发生,因为模拟服务不可用。
要了解负载测试中的断言,请参阅验证性能。
来吧,试试吧!