接口测试工具–SoapUI入门&使用教程

如前所述, TestSteps 是 soapUI 中功能测试的核心构件;每个 TestStep 都执行一些步骤来验证要测试的功能。TestSteps 默认是依次执行的, 但是分支, 循环甚至调用其他 TestCases 有几种可能性, 在需要时可以进行复杂的测试。 任何数量的TestSteps 都可以添加到 TestCase 中;通过右键单击 TestStep 列表并选择添加/插入或按 TestCase 窗口中相应的按钮添加它们:

当选择 TestStep 时, 其右键单击菜单会显示相应的操作, 左下角的属性表显示可设置的相关属性, 例如下面的SOAP Request TestStep 所示:

所以, 让我们看看不同类型的 TestSteps, 然后是几个示例 TestCases采样器这些是验证服务功能的主要测试步骤。 它们主要用于发送或接收消息, 然后可以通过标准断言机制(在验证消息中描述) 进行验证。 采样器接收到的消息的实际内容可以通过其他几种方式进一步使用:作为资源转移的来源, 允许您将消息的一部分传输到某个其他消息(例如, 响应于以下请求的会话ID) 或属性。

在以下脚本

TestStep 中进行高级处理和验证作为使用XML DataSource 的 DataSource TestStep 的源码, 允许您使用一个请求的结果来驱动以下TestStepsetc.

目前可以使用以下采样器:

SOAP Request

REST Request

JDBC Request

AMF Request

HTTP Request

MockResponse

您可以根据需要在 TestCase 中组合多个采样器, 并轻松地在它们之间共享数据, 例如, 您可以使用标准HTTP 请求登录到服务, 然后在以下 SOAP 请求中使用检索到的 HTTP 会话, 并最终验证生成的使用JDBC 的数据库内容。

Property-related TestSteps

属性管理通常用于参数化 TestCase 的逻辑和执行的属性。

Properties – 允许您定义可选择从文件读取或写入文件的任意数量的属性。 这些可以用于请求的参数化, 断言等。

Property Transfer – 允许您在 TestSteps 之间传输或提取属性值, 例如, 您可以从响应消息中提取值, 并将其写入数据文件DataGen (SoapUI Pro) – 允许您创建动态属性来创建计数器, 随机属性值等。 .

Data-related TestSteps

SoapUI Pro 添加了许多用于与外部 DataSource 进行交互的 TestSteps, 用于读取和写入。 这些是:

DataSource -允许您从各种外部来源(数据库, Excel 文件, 目录等) 读取属性值, 然后可以将其用于填充请求(通过属性转移) , 验证响应或作为输入用于嵌套DataSources。

DataSource Loop – 与 DataSource TestStep 配对, 以允许迭代在 DataSource 中可用的每一行值

执行的

TestSteps 序列。 在 soapUI 中, 这是数据驱动测试的基础。

DataSink – 允许您将属性值写入多个外部存储(数据库, Excel 等) 以供以后分析或处理。

Execution Flow TestSteps

尽管 TestCase 中 TestStep 执行的初始流程是顺序的, 但是有许多 TestStep 允许您执行分支,循环等:

Conditional Goto – 检查 TestCase 中先前收到的消息中的值应该跳转到哪个相应配置的目标

TestStep。

Delay – 暂停执行 TestCase 配置的毫秒数。

Run TestCase – TestCase 的执行转移到指定的目标 TestCase, 根据配置设置此 TestCase 上的属性。 这允许

TestCases 的强大的模块化, 当例如在多个 TestCases 的开头运行相同的 TestSteps序列时, 这将是有用的。

Miscellanous

还有一个 TestStep 可以做任何你想要的;

Script TestStep –

脚本 TestStep – 持有一个任意脚本(用 Groovy 或 JavaScript 编写) , 几乎可以做任何可能需要的脚本。 常用的用法是:默认断言机制无法达到的复杂验证。

复杂的循环或分支。

对于高级

DataDriven 场景, 修改底层 TestCase(例如从数据库动态生成 TestSteps) 。与外部系统集成, 用于读取或写入数据。触发外部动作或进程, 例如发送电子邮件或启动其他程序。与用户(对话框, 提示等) 进行交互以获取输入或控制执行。

结合soapUI Pro 中的脚本库, 这为所有测试提供了非常强大的基础, 因为可以实现大多数用于验证目标服务的功能。

常见操作和设置

所有 TestSteps 都有从右键菜单可用的一些操作。 其中有些是 TestStep 特定的, 一些常见的所有测试步骤:

(此弹出窗口仅用于属性测试步骤, 仅具有常见操作, 没有特定的属性)

示例 TestCase – 简单的登录和注销我们来看看 soapUI 附带的示例 soapUI 项目中的第一个 TestCase, “Simple Login and Logout w.Properties Steps”TestCase

该 TestCase 用于验证我们的目标服务的登录和注销过程, TestSteps 如下:

“Properties: Username and Password” – 定义用于参数化登录请求的 TestCase 中的属性。 如果需要, 将它们放在这里可以方便地更改和从外部文件读取。

“Property Transfer: Move Username and Password” – 将“属性”步骤中的用户名和密码转移到登录请求的内容, 以便相应使用

“Test Request: login” – 将实际的登录请求提交给目标服务, 并检查响应是否有错误。

“Property Transfer: Move sessionID” – 将接收到的 sessionId 从登录请求的响应传输到以下注销请求, 因此我们可以看到创建的会话可以按预期方式终止。

“Test Request: logout” – 用从(3) 中的登录接收到的 sessionId 提交注销请求, 响应再次被验证包含预期的消息, 不是任何错误。

这是一个非常简单的

TestCase, 它说明了构建 TestCase 时的一些关键概念:

初始属性

TestStep 可以实现参数化。

属性在消息之间传输, 并使用属性传输下一个测试步骤。

标准

SOAP 请求 TestSteps 用于调用和验证目标服务。

相关推荐

美和易思 · 大一阶段测试(3、4)「详解」

美和易思 · 大一阶段测试(3、4)「详解」

9.100个渗透测试实战#9(DC-4)

9.100个渗透测试实战#9(DC-4)

在这里插入图片描述

嵌入式系统设计——Linux开发工具.下(5)

在这里插入图片描述

Inkscape:基本操作和常用工具(附Inkscape下载地址)