如何在 SoapUI 中创建测试套件和测试用例
理解 SOAP 协议
在创建 SOAPUI 测试用例之前,让我们先了解 SOAP 协议的基础知识。这将帮助您有效地使用 SOAP UI 测试 SOAP 请求和响应。
SOAP 代表 简单对象访问协议。以下是 SOAP 协议的属性。
- 它是一个基于 XML 的协议,用于在两个不同的系统之间进行通信。
- 它独立于平台和语言。因此,使用 Java 开发的系统可以与使用 .NET 开发的系统进行通信。
- SOAP 请求/响应通过 HTTP 传输。
学习 SOAP 消息格式
SOAP 消息是包含以下元素的普通 XML 文档。消息可以是请求消息,也可以是响应消息。

在设置好上一个教程中完成的工作区之后,我们需要创建 SoapUI 项目结构、测试套件、测试用例,以便测试给定的 Web 服务。让我们通过一个 SoapUI 项目示例来创建一个新的 SOAP 项目。
创建 SOAP 项目
步骤 1) 现在,根据项目,我们需要导入 SOAP/REST 协议。我们将创建一个新的 SOAP 项目。
步骤 2) 我们将使用以下 SOAP 请求 http://www.dneonline.com/calculator.asmx?wsdl
- 输入项目名称
- 输入 WSDL 请求的路径。在本例中为 http://www.dneonline.com/calculator.asmx?wsdl
- 点击确定
注意
- 为所有操作创建示例请求? 它为给定 WSDL 中所有可用的操作创建示例请求。一旦您输入 WSDL 地址,此选项将自动勾选。您可以取消勾选。
- 为导入的 WSDL 创建测试套件: 在项目中为导入的 WSDL 创建一个 SoapUI 测试套件。
- 相对路径:它允许用户将所有文件相对于项目文件保存。
步骤 3) 使用上述 WSDL 创建 SOAP 项目后,我们将看到有两个操作将被导入到项目中。
步骤 4) 展开第一个请求,右键单击“添加”。然后单击“新建请求”。
然后点击“确定”。它将以 XML 格式显示 SOAP 请求。
- 输入“intA”和“intB”
- 点击提交按钮
- 响应 XML 将显示在右侧面板。
你可能会想,为什么要创建测试用例呢?当你可以直接在这里测试 Webservice 时…
嗯,你可以发送一个操作的请求。那其他的呢?你可以用这个操作进行多少种加法输入组合呢?你必须为每一种组合编辑请求。
例如:如果你想将 4 和 4 相加而不是 5 和 5… 你需要再次编辑操作。所以,必须创建测试套件/用例来测试所有可能的场景,而无需直接编辑操作本身。
如何在 SoapUI 中创建测试套件
以下是在 SoapUI 中创建测试套件的步骤
步骤 1) 右键单击项目的根目录
在项目中,测试人员可以通过右键单击项目根目录来创建测试套件。
步骤 2) 输入测试套件详情
我们需要输入测试套件的名称,然后按“确定”。
步骤 3) 验证已创建的测试套件
创建的测试套件将显示在导航器窗格中,如下所示。
步骤 4) 打开测试套件
测试套件窗口在右侧窗格中打开。由于我们刚刚创建,所以没有 SoapUI 测试用例。因此所有选项都已禁用。
如何在 SoapUI 中创建测试用例
以下是在 SoapUI 中创建测试用例的分步过程
步骤 1) 在一个测试套件中,我们可以通过右键单击“测试套件”并选择“新建测试用例”来创建多个测试。
步骤 2) 指定测试用例的名称并点击“确定”。
步骤 3) 创建的测试用例零步骤,如下所示。
注意:我们可以看到,测试用例已添加了所有可用测试的零测试步骤。添加测试步骤后,括号中的数字将自动更改。
功能测试步骤应放入“测试步骤”,而性能测试步骤应放入“负载测试”,安全测试步骤应放入“安全测试”。
步骤 4) 我们可以通过右键单击测试步骤并选择适当的测试步骤来插入各种测试步骤,如下所示。因此,如果要测试 REST Webservice,您将选择 REST 测试请求。
在 SoapUI 中添加测试步骤
现在让我们添加一个测试步骤来验证导入的 SOAP 测试请求
步骤 1) 添加一个新步骤“SOAP 请求”,如下所示。
步骤 2) 输入步骤名称并单击“确定”。
步骤 3) 点击“确定”后,会弹出一个对话框,要求选择要调用的操作。所有操作都会列出,用户可以选择他们想要调用的操作。
- 将列出许多操作。操作是相同的,除了使用的 SOAP 版本。CalculatorSoap 使用 SOAP 版本 1.1,而 CalculatorSoap12 使用 SOAP 版本 1.2。
- 在此上下文中,版本对我们来说并不重要。因此,您可以选择您喜欢的版本。
- 选择操作后,点击“确定”
步骤 4) 在添加测试用例时,我们可以添加标准断言。断言也称为检查点/验证点,我们将在下一个教程中详细讨论。
我们可以在创建测试用例时添加以下检查点/断言。让我们创建一个不包含以下任何验证点的测试步骤的测试用例。
- 执行测试后验证响应消息是否为 SOAP。
- 验证响应模式是否有效。
- 验证 SOAP 响应是否包含 FAULT。
步骤 5) 创建测试用例后,请求 XML 如下所示。XML 的结构在下面的快照中解释。
步骤 6) 测试步骤计数现在增加到一,因为我们刚刚添加了一个测试步骤。同样,添加负载和安全测试步骤后,相应的数字将根据添加的步骤数自动增加。
在 SoapUI 中手动发送请求和读取响应
步骤 1) 我们将添加两个整数。
- intA – 5
- intB – 5
接下来,
- 我们需要在问号处输入这些输入,这些输入将作为请求 XML 发送。
- 将这些值输入到相应的 XML 标签后,单击“提交请求”按钮以检查响应。
步骤 2) 提交请求后,web 服务请求由 web 服务器处理,并返回响应,如下所示。
通过阅读响应,我们能够得出 5 加 5 等于 10 的结论。
理解 Soap 响应和日志面板
正如本 SoapUI 测试教程开头所解释的,SOAP 消息通过 HTTP 协议传输。让我们看看原始消息。这将帮助我们了解 SOAP 请求和响应是如何通过 HTTP 传输的。
步骤 1) 点击 SOAP-UI 请求窗口中的“RAW”选项卡。
- 请求被发送到 Web 服务器。因此,使用了 HTTP 的 POST 方法。
- SOAP 请求在 HTTP 消息的正文中传输。
步骤 2) 现在 点击 SOAP-UI 响应窗口中的“RAW”选项卡 ,了解响应是如何通过 HTTP 发送的。
- 处理请求后,显示 HTTP 响应代码(200),表示成功。Web 服务器已成功处理。
- SOAP 响应作为 HTTP 消息正文的一部分发送回客户端。
HTTP 响应代码的快速快照,以便于理解和调试。下表将帮助您根据从 Web 服务器收到的 HTTP 代码进行故障排除。
Http 代码 | 描述 |
---|---|
1xx | 信息性 – 这意味着请求已收到并正在处理中。 |
2xx | 成功 – 操作已成功收到、理解和接受。 |
3xx | 重定向 – 这意味着必须采取进一步行动才能完成请求。 |
4xx | 客户端错误 – 这意味着请求包含错误的语法或无法完成。 |
5xx | 服务器错误 – 服务器未能完成一个看似有效的请求。 |
步骤 3) 让我们了解测试用例窗口中显示的其他信息。
- 表示发送的请求中没有头信息。
- 表示发送到网络服务器的请求中没有附件。
- 表示 10 个头信息,点击后会显示。
- 表示响应消息中没有附件。
日志面板
日志面板包含客户端和服务器之间事务的完整信息。用户将能够看到日志面板的选项卡,如下所示。我们将讨论在使用 SOAP-UI 时最常用的日志面板。
SoapUI 日志 – 显示来自 Web 服务器的响应信息。相同的信息存储在 SOAP-UI 安装文件夹“bin”目录下的 soapui.log 文件中。
Http 日志 – 显示所有 HTTP 数据包传输。‘RAW’中的所有信息都显示在 HTTP 日志中。
错误日志 – 错误日志显示我们在整个项目会话中遇到的所有错误。相同的信息可在 SOAP UI 安装位置的“bin”目录中的“soapui-errors.log”中找到。
内存日志 – 此选项卡监视内存消耗并以图表形式显示,如下所示。当执行内存密集型操作时,它非常有用。
现在我们已经创建了测试套件、测试用例、测试步骤并得到了响应,下一步是验证响应。我们将在下一个教程中详细讨论断言类型。