在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项目中说明的主要概念。

  • Web服务嘲笑
  • Web服务检查
  • Web服务的功能测试
  • Web服务负载测试

导入项目

首先打开项目。

  1. 单击导入按钮主工具栏或右键单击导航器面板中的根节点,然后选择导入项目:

    在SoapUI中示例SOAP项目_第1张图片
  2. Select SoapUI Project File对话框中, / SoapUI-Tutorials文件夹中选择Sample-SOAP-Project-soapui-project.xml文件

    在SoapUI中示例SOAP项目_第2张图片
  3. 示例项目将显示在SoapUI导航器中。

    在SoapUI中示例SOAP项目_第3张图片

SoapUI项目的结构如下:

  • 项目

    • 接口

    • 测试套件

    • 模拟服务

我们先从模拟服务开始。


1. Web服务嘲弄

介绍

Web服务模拟是一种伪造或模拟Web服务功能的方法。 

在Web服务的实现尚未开始或尚未完成的项目中,或出于某种其他原因无法访问Web服务的项目中,Web服务模拟非常有用。

换句话说,Web服务模拟使您可以在开始开发Web服务的同时开始为Web服务创建测试。这意味着,当真正的Web服务准备好进行测试时,您已经完成了测试。这可以是非常强大的,并允许在您的工作流中使用测试驱动和敏捷方法。

在SoapUI中,您可以为单个Web服务请求创建一个模拟服务,或者在接口中生成包含每个已定义响应的模拟服务。

要了解有关模拟服务的更多信息,请参阅服务模拟概述

您可能也对ServiceV感兴趣,它提供了更多创建虚拟服务的功能。免费试用ServiceV Pro

教程

要添加模拟服务:

  1. 右键单击该接口并选择生成SOAP模拟服务

    在SoapUI中示例SOAP项目_第4张图片
  2. 在“ 生成MockService”对话框中,可以为新的模拟服务指定所需的参数。保留现在的默认设置,然后单击确定

    在SoapUI中示例SOAP项目_第5张图片
  3. 输入您的模拟服务的名称,然后单击确定

    在SoapUI中示例SOAP项目_第6张图片

    注意:示例项目已经包含一个默认名称的模拟服务。确保为新的模拟服务指定了不同的名称。

模拟服务现在将成功生成:

在SoapUI中示例SOAP项目_第7张图片

然后,您可以选择如何响应请求并选择如何分派(发送)不同的响应。

示例项目已经包含ServiceSoapBinding模拟服务。让我们来看看这个模拟服务是如何工作的:

  1. 通过双击ServiceSoapBinding MockService打开它:

    在SoapUI中示例SOAP项目_第8张图片
  2. 通过模拟服务(登录,注销,搜索和购买)中的不同操作浏览,看看我们用不同的请求做什么。正如你所看到的,所有的请求都是通过脚本分派的。这是调度最常用的方法,但是在项目的早期阶段,您可能只想创建一组响应,然后按顺序或随机调度。

  3. 点击运行按钮开始模拟服务。

    您现在应该可以看到端口8088上运行的模拟服务:

    在SoapUI中示例SOAP项目_第9张图片

2. Web服务检查

介绍

当您想了解Web服务的工作方式时,Web服务检查可以在测试过程的早期阶段非常有用。您可以通过两种方式来执行此操作:检查Web服务的WSDL文件并发出Web服务请求。

教程

  1. 双击ServiceSoapBinding节点以打开界面编辑器。

  2. 打开WSDL内容选项卡。WSDL文件是一个XML文件,可能很难查看和理解它。但是,WSDL文件是一个Web服务的规范,越好理解它,使用该服务就越好。SoapUI界面可以帮助您查看您的WSDL文件:

    在SoapUI中示例SOAP项目_第10张图片

    要了解有关WSDL文件的更多信息,请参阅使用WSDL

我们来看看Web服务请求:

  1. 在“ 导航器”面板中展开登录节点,然后双击登录rq请求。该请求已经包含用户名和密码。

  2. 点击运行按钮提交请求。

    注意:确保你运行模拟服务来获得响应。

    您现在应该在“响应”面板中看到响应:

    在SoapUI中示例SOAP项目_第11张图片

提示: SoapUI Pro允许您以不同的格式查看请求和响应

在SoapUI中示例SOAP项目_第12张图片


3. Web服务的功能测试

介绍

我们来看看SoapUI中的测试是如何工作的。示例项目包含三个不同的测试套件,全部包含不同的测试用例。测试用例由几个测试步骤和负载测试组成。所以,测试套件的结构如下所示:

  • 测试套件

    • 测试用例

      • 测试步骤
      • 负载测试

注意:正如你所看到的,也有负载测试。这些将在本教程稍后介绍  

教程

现在我们来看一个测试用例中的功能测试。

  1. 展开Simple TestSuite并双击第一个测试用例:简单登录和注销w。属性步骤

    在SoapUI中示例SOAP项目_第13张图片

    正如你所看到的,测试用例由五个测试步骤组成。

  2. 打开“描述”选项卡查看测试案例描述。

    在SoapUI中示例SOAP项目_第14张图片
  3. 该步骤由三种不同类型的测试步骤组成:

    • 一个属性测试步骤

    • 两个SOAP请求测试步骤

    • 两个财产转移测试步骤。

    这是他们做的事情:

    • 属性
      存储属性供以后使用。在我们的例子中,这些是登录所需用户名密码属性。

    • SOAP请求
      对服务器的实际请求。在这个测试用例中有两个请求:登录注销请求。

    • Property Transfer(财产转移)
      一个步骤用于在不同步骤之间移动财产值。您可以使用它将属性测试步骤中的值移动到诸如“属性转移:移动用户名和密码”之类的请求您也可以将属性从请求测试步骤移动到另一个请求测试步骤,如 Property Transfer:Move sessionID test步骤。

  4. 双击属性传输:移动用户名和密码测试步骤。

    在SoapUI中示例SOAP项目_第15张图片

    此属性传输测试步骤从源属性获取值并将其分配给目标属性。检查TransferUser转移。属性:用户名和密码测试步骤采取用户名属性,并将其移动到测试请求:登录测试步骤。然后看TransferPass转移。从“ 属性:用户名和密码”测试步骤接收密码属性,并将其移至“ 测试请求:登录测试”步骤。

  5. SoapUI的一个重要特性是断言断言验证响应是我们所期望的。打开测试请求:登录测试步骤。

    在测试步骤中,我们有三个主张不同事物的断言:

    • SOAP响应 - 声明响应是SOAP响应。

    • 架构遵从性 - 声明它符合架构。

    • 不是SOAP错误 - 声明它不是SOAP错误。

    要了解更多关于断言的信息,请参阅断言入门

测试运行

现在我们已经检查了测试用例,让我们来运行它!按下运行按钮运行测试。测试用例进度条显示进度:

在SoapUI中示例SOAP项目_第16张图片

如果测试用例失败:

  • 它只有一步后变红了吗?
    不要忘记开始模拟服务

  • 你之前是否运行过测试步骤?
    看看这些回复 - 可能是一个登录请求已经发送。

    如果是这样,您先登录,不允许再次登录。要解决该问题,请转到模拟服务,停止并重新启动服务。这将清除有关在服务器上运行的所有会话的信息。现在,重新运行测试。


4. Web服务负载测试

介绍

SoapUI中另一个有用的功能是能够快速创建负载测试。为什么这是有用的?您可以越早运行负载测试,越早发现任何性能问题。在SoapUI中,通过右键单击功能测试并选择New LoadTest来创建负载测试完成!

SoapUI负载测试允许您立即测试Web服务可以一次又一次快速响应相同的请求。

要了解更多信息,请参阅负载测试概述

教程

  1. 转到Expanded TestSuite>搜索和购买TestCase在这个测试案例中有四个不同的负载测试,每个负载测试策略一个。

    在SoapUI中示例SOAP项目_第17张图片

    现在,我们将选择LoadTest:简单策略负载测试。这个测试是基于简单的负载策略,这是一个非常基本的策略与随机延迟。要了解有关策略的更多信息,请参阅模拟不同类型的负载

  2. 让我们来配置测试。

    在SoapUI中示例SOAP项目_第18张图片

    Simple策略有以下设置:

    1. 限制 - 您希望测试运行的秒数。
    2. 线程 - 使用线程的数量。现在,我们将使用一个线程。
    3. 测试延迟 - 在每个测试用例运行之间设置一个延迟(以毫秒为单位)。在我们的测试中,我们将其设置为200毫秒。
    4. 随机 - 设置如何随机更改测试延迟值。值0.5意味着随机值应该是测试延迟值的一半。也就是说,实际的延迟将在100到300毫秒之间。
      如果将Random设置为0,则不会有任何随机延迟。在我们的例子中,一直是200毫秒。
  3. 点击运行按钮运行负载测试。

    正如你所看到的,表值不断更新。您可以看到响应时间的每秒吞吐量(tps),断言,错误,测试运行百分比等值。

    在SoapUI中示例SOAP项目_第19张图片
  4. 点击图表按钮查看测试运行图:

    在SoapUI中示例SOAP项目_第20张图片

    要了解更多信息,请参阅导出数据和统计信息

在SoapUI加载测试中,你也可以做断言。最重要的断言之一是最大错误断言。

在SoapUI中示例SOAP项目_第21张图片

这个断言监视测试运行期间允许的最大错误数量。让我们看看它是如何工作的:

  1. 打开模拟服务,点击停止按钮停止。

  2. 打开负载测试并单击运行按钮运行它。过了一段时间,测试将失败。这将发生,因为模拟服务不可用。

要了解负载测试中的断言,请参阅验证性能

来吧,试试吧!

你可能感兴趣的:(SOAPUI)