如何在 SoapUI 中创建测试套件和测试用例

了解 SOAP 协议

在创建 SOAPUI 测试用例之前,让我们先了解有关 SOAP 协议的基础知识。这将帮助您使用 SOAP UI 有效地测试 SOAP 请求和响应。

肥皂代表 简单对象访问协议。以下是 SOAP 协议的属性。

  • 它是用于两个不同系统之间通信的基于 XML 的协议。
  • 它独立于平台和语言。因此,使用 Java 可以与.NET开发的系统进行通讯。
  • SOAP 请求/响应通过 HTTP 传输。

了解 SOAP 消息格式

SOAP 消息是包含以下元素的普通 XML 文档。消息可以是请求消息,也可以是响应消息。

SOAP 消息格式
SOAP 消息格式

在设置我们在上一篇教程中执行的工作区后,我们必须创建 SoapUI 项目结构、测试套件、测试用例,以便测试给定的 Web 服务。让我们了解 SoapUI 项目示例以创建新的 SOAP 项目。

创建 SOAP 项目

步骤1) 现在,根据项目,我们需要导入 SOAP/REST 协议。我们将创建一个新的 SOAP 项目。

创建新的 SOAP 项目

步骤2) 我们将使用以下 SOAP 请求 http://www.dneonline.com/calculator.asmx?wsdl

  1. 输入项目名称
  2. 输入 WSDL 请求的路径。本例中为 http://www.dneonline.com/calculator.asmx?wsdl
  3. 单击确定

创建 SOAP 项目

请注意:

  • 为所有操作创建样本请求? 它为给定的 WSDL 中的所有可用操作创建示例请求。输入 WSDL 地址后,将自动选中此选项。您可以取消选中它。
  • 为导入的 WSDL 创建测试套件: 在项目内为导入的 WSDL 创建 SoapUI 测试套件。
  • 相对路径:它使用户能够保存与项目文件相关的所有文件。

步骤3) 使用上述 WSDL 创建 SOAP 项目后,我们将看到有两个操作将导入到项目中。

创建 SOAP 项目

步骤4) 展开第一个请求并右键单击“添加”。然后单击“新请求”。

创建 SOAP 项目

然后点击“确定”。它将以 XML 格式显示 SOAP 请求

创建 SOAP 项目

  1. 输入“intA”和“intB”
  2. 点击提交按钮
  3. 响应 XML 将显示在右侧窗格中。

创建 SOAP 项目

您可能想知道为什么要创建测试用例?当您在这里直接测试 Web 服务时……

好吧,您可以发送一项操作的请求。其他操作呢?使用此操作可以进行多少种添加输入组合?您必须针对每种组合编辑请求。

例如:如果您想要将 4 和 4 相加,而不是 5 和 5… 则需要再次编辑操作。因此,必须创建测试套件/案例来测试所有可能的场景,而无需直接编辑操作本身。

如何在 SoapUI 中创建测试套件

以下是在 SoapUI 中创建测试套件的步骤:

步骤 1)右键单击项目根目录

在项目中,测试人员可以通过右键单击项目根目录来创建测试套件。

在 SoapUI 中创建测试套件

步骤 2)输入测试套件详细信息

我们需要输入测试套件的名称并按确定。

在 SoapUI 中创建测试套件

步骤 3)验证创建的测试套件

创建的测试套件显示在导航器窗格中,如下所示。

在 SoapUI 中创建测试套件

步骤 4)打开测试套件

测试套件窗口在右窗格中打开。由于我们刚刚创建,因此没有 SoapUI 测试用例。因此所有选项均被禁用。

在 SoapUI 中创建测试套件

如何在 SoapUI 中创建测试用例

以下是在 SoapUI 中创建测试用例的分步过程:

步骤1) 在测试套件中,我们可以通过右键单击“测试套件”并选择“新建测试用例”来创建多个测试。

在 SoapUI 中创建测试用例

步骤2) 指定名称 测试用例 然后点击“确定”。

在 SoapUI 中创建测试用例

步骤3) 创建的测试用例没有步骤,如下所示。

在 SoapUI 中创建测试用例

备注:可以看到,该测试用例添加时,所有可用的测试步骤均为零。添加测试步骤后,括号内的数字会自动变化。

功能测试步骤应进入“测试步骤”,而性能测试步骤应进入“负载测试”,安全测试步骤应进入“安全测试”。

步骤4) 我们可以通过右键单击测试步骤并选择适当的测试步骤来插入各种测试步骤,如下所示。因此,如果您要测试 REST Web 服务,则应选择 REST 测试请求。

在 SoapUI 中创建测试用例

在 SoapUI 中添加测试步骤

现在让我们添加一个测试步骤来验证导入的 SOAP 测试请求:

步骤1) 添加一个新步骤“SOAP 请求”,如下所示。

在 SoapUI 中添加测试步骤

步骤2) 输入步骤名称并单击确定。

在 SoapUI 中添加测试步骤

步骤3) 单击“确定”后,将弹出一个对话框,供您选择要调用的操作。所有操作均已列出,用户可以选择要调用的操作。

  • 将会列出许多操作。 Opera除了使用的 SOAP 版本不同外,其他功能均相同。CalculatorSoap – 使用 SOAP 版本 1.1,而 CalculatorSoap12 – 使用 SOAP 版本 1.2
  • 在此情况下,版本对我们来说并不重要。因此,您可以选择自己喜欢的版本。

    在 SoapUI 中添加测试步骤

  • 选择操作后,单击“确定”

    在 SoapUI 中添加测试步骤

步骤4) 在添加测试用例时,我们可以添加标准断言。断言也称为检查点/验证点,我们将在下一个教程中详细讨论。

我们可以在创建测试用例时添加以下检查点/断言。让我们创建一个带有选项的测试用例,这意味着创建测试步骤时不包含以下任何验证点

在 SoapUI 中添加测试步骤

  1. 执行测试时验证响应消息是否为 SOAP。
  2. 验证响应模式是否有效。
  3. 验证 SOAP 响应是否包含 FAULT。

步骤5) 创建测试用例后,请求 XML 如下所示。以下快照解释了 XML 的结构。

在 SoapUI 中添加测试步骤

步骤6) 由于我们刚刚添加了一个测试步骤,因此测试步骤数现在增加为 1。同样,在添加负载和安全测试步骤时,相应的数字将根据添加的步骤数自动增加。

在 SoapUI 中添加测试步骤

在 SoapUI 中手动发送请求并读取响应

步骤1) 我们想将两个整数相加。

  • intA – 5
  • intB – 5

接下来,

  1. 我们需要在问号的位置输入这些输入,这些输入将作为请求 XML 发送。
  2. 将这些值输入到相应的 XML 标签中后,单击“提交请求”按钮来检查响应。

手动发送请求并读取响应

步骤2) 提交请求后,Web 服务器将处理 Web 服务请求并返回响应,如下所示。

通过阅读答案,我们可以得出结论:5 加 5 等于 10。

手动发送请求并读取响应

了解 Soap 响应和日志面板

正如本 SoapUI 测试教程开头所述,SOAP 消息通过 HTTP 协议传输。让我们看一下 RAW 消息。这将帮助我们了解 SOAP 请求和响应如何通过 HTTP 传输。

步骤1) 单击两个 SOAP-UI 请求窗口中的“RAW”选项卡。

  1. 请求被发布到 Web 服务器。因此,使用 Http 的 POST 方法。
  2. SOAP 请求在 Http 消息主体中传输。

肥皂响应和日志面板

步骤2) 现在 点击“RAW”标签 在 SOAP-UI 响应窗口中了解如何通过 HTTP 发送响应。

  1. 处理完请求后,会显示 Http 响应代码 (200),表示成功。Web 服务器已成功处理该请求。
  2. SOAP 响应作为 HTTP 消息主体的一部分发送回客户端。

肥皂响应和日志面板

快速快照 Http 响应代码,便于理解和调试。下表将帮助您根据从 Web 服务器收到的 HTTP 代码进行故障排除。

Http 代码 描述
1xx: 信息性 – 这意味着请求已收到并且正在继续处理。
2xx: 成功 - 该操作已成功收到、理解并接受。
3xx: 重定向 – 这意味着必须采取进一步的行动才能完成请求。
4xx: 客户端错误 – 这意味着请求包含错误的语法或无法满足
5xx: 服务器错误 - 服务器未能满足看似有效的请求

步骤3) 让我们了解测试用例窗口中显示的其他信息。

肥皂响应和日志面板

  1. 表示正在发送的请求中没有标头
  2. 表示发送到 Web 服务器的请求中没有附件。
  3. 代表10个标题信息,单击后会显示相同的信息。
  4. 表示响应消息中没有附件。

日志窗格:

日志窗格包含有关客户端和服务器之间事务的完整信息。用户将能够看到日志窗格的选项卡,如下所示。我们将讨论使用 SOAP-UI 时最常用的日志窗格。

日志窗格

SoapUI 日志 – 显示来自 Web 服务器的响应信息。相同的信息存储在 SOAP-UI 安装文件夹“bin”目录下的 soapui.log 文件中。

SoapUI 日志

Http 日志 – 显示所有 HTTP 数据包传输。“RAW”中的所有信息都显示在 HTTP 日志中。

Http 日志

错误日志 – 错误日志显示我们在整个项目会话期间遇到的所有错误。SOAP UI 安装位置的“bin”目录中的“soapui-errors.log”中提供了相同的信息。

记忆日志 – 此选项卡监视内存消耗并以图表形式显示,如下所示。当执行内存密集型操作时,它非常有用。

记忆日志

现在我们已经创建了测试套件、测试用例、测试步骤并获得了响应,下一步是验证响应。我们将在下一个教程中处理断言类型。