SoapUI REST Web 服务


SoapUI REST Web 服务

REST 是一个REpresentational State Transfer。它是一种专为网络应用而设计的轻量级软件架构风格,使用标准协议与客户端-服务器系统进行通信以发送或接收响应。它被称为RESTful Web 服务,与HTTP协议有关。RESTful Web 服务通常使用 URI(统一资源标识符)服务,该服务提供资源表示和一组HTTP方法,如 GET、PUT、POST 和 DELETE。这些 HTTP 方法与任何消息格式(例如JSON、XML 和 CSV)一起使用,以便将请求发送到服务器,然后服务器生成对该请求的响应。

什么是WADL?

Web 应用程序描述语言 (WADL) 是一种机器可读的XML 语言,适用于基于 HTTP 的 Web 服务。WADL 的目标是简单地重用构建在当前 Web 的 HTTP 基础结构上的 Web 服务。WADL 是一个独立于平台和语言的平台,它促进应用程序超越与 Web 浏览器中原始使用的交互。

在 SoapUI 中创建一个 REST 项目

在SoapUI应用程序中创建一个新的 REST 项目,然后按照说明继续执行该项目。

步骤 1:转到File菜单按钮并单击New REST Project选项,如下所示。

SoapUI REST Web 服务

或者我们可以通过简单地单击 REST 选项来创建一个新的 REST 项目,如下所示

SoapUI REST Web 服务

步骤 2:单击 REST 选项后,它会显示一个新建 REST 项目的对话框。

SoapUI REST Web 服务

这是WADL URI:

HTTPS://restcountries.eu/rest/v2/all

插入WADL URI后,点击OK按钮,显示REST项目,如下图。

SoapUI REST Web 服务

在上图中,请求 1窗口将打开到右侧,包含请求 1的 REST 项目位于左侧窗格中。

探索 WADL

我们可以通过双击REST服务来定位WADL服务,打开WADL服务的概览向导,如下图。

SoapUI REST Web 服务

步骤 1:单击服务端点选项卡。

SoapUI REST Web 服务

服务端点用于提供 WADL URI 端点。此外,我们可以为需要身份验证的 WADL 服务定义多个端点。

第二步:点击WADL Content,获取REST Service的导入元素,如下图。

SoapUI REST Web 服务

在 REST 服务中添加 TestSuite

为了在 REST 服务中添加测试套件,我们必须在 REST 项目中遵循以下步骤。

第 1 步:我们可以通过两种方式创建测试套件:

\1. 右键单击“REST Project 1”,然后选择“新建测试套件”以显示对话框,如下所示。

SoapUI REST Web 服务

\2. 或者我们可以直接在Rest Request上点击右键,然后点击Add to Testcase Service,直接创建一个测试套件,如下图。

SoapUI REST Web 服务

选择测试用例后,会显示一个测试套件的对话框,如下所示。

SoapUI REST Web 服务

第 2 步:提供用于创建 TestSuite 的名称,然后单击 OK 按钮。我们提供了 TestSuite 名称Country TestSuite 1

SoapUI REST Web 服务

步骤 3:当按下 OK 按钮时,它会显示一个对话框,用于提供 TestCase 名称,如下所示。

SoapUI REST Web 服务

在这里,我们将TestCase的名称指定为“GetCountries TestCase 1”,然后单击“确定”按钮。

第 4 步:单击 OK 按钮后,它会显示一个对话框,将请求添加到测试用例,如下所示。

SoapUI REST Web 服务

在这里,我们提供了 TestCase 名称作为'GetAllCountry',如给定的图像所示。

SoapUI REST Web 服务

步骤 5:指定测试用例请求的名称之后。单击确定按钮创建一个新窗口,如下图所示。

SoapUI REST Web 服务

如上图所示,GetAllCountry请求位于导航栏的左窗格中,GetAllCountry的 UI位于右窗格中。

在运行时在 SoapUI 中创建 REST 服务

同理,我们可以在SoapUI的一个REST工程中,在运行时添加REST URI、TestSuite、TestCaseRequest for the Test Case ,如下图。

步骤 1:右键单击 REST 项目 1,然后从 URI 中选择New Rest Service

SoapUI REST Web 服务

当我们从 URI单击New Rest Service 时,它会显示一个弹出对话框以输入REST URI。这是用于按名称获取国家/地区的 REST URI 。

  1. https: //restcountries.eu/rest/v2/name/united

SoapUI REST Web 服务

插入 URI 后,单击OK按钮,它将显示新服务的下图。

SoapUI REST Web 服务

请求 1 窗口将在上图中的右侧打开,包含请求 1 的 REST 项目位于左侧窗格中。

第 2 步:现在,我们为RESTService创建TestSuite、测试用例和请求

对于 TestSuite:右键单击Request 1,然后选择Add to TestCase,如下所示。

SoapUI REST Web 服务

当我们选择Add to TestCase 时,它会显示一个用于在TestSuite 中定义TestCase的对话框,如下所示:

SoapUI REST Web 服务

上面的对话框表示我们是要在国家测试套件 1获取国家测试套件 1内创建请求,还是要在国家测试套件 1内创建请求,但使用新的测试用例创建新的测试套件

SoapUI REST Web 服务

在这里,我们选择了“Countries TestSuite 1-GetCountries TestCase1”并单击“确定”按钮。

第 3 步:单击 OK 按钮后,它会显示Add Request to TestCase,然后输入请求的名称。

SoapUI REST Web 服务

第四步:点击确定按钮。

SoapUI REST Web 服务

如上图所示,GetCountryNameRequest位于导航栏的左窗格中,GetCountryNameRequest的 UI位于右窗格中。

在 SoapUI 中执行 REST 测试结构

现在我们将学习如何在 SoapUI 中执行 REST 项目的测试步骤请求、测试用例和测试套件。

测试步骤要求:

1. GetAllCountry:当我们执行 GetAllCountry 请求的测试步骤时,它会显示所有国家的列表以及其他详细信息。

步骤 1:为了执行请求,我们必须从测试步骤中选择GetAllCountry请求,然后双击它,如下所示。

SoapUI REST Web 服务

第 2 步:通过单击绿色运行按钮运行请求,然后它会显示包含其他详细信息的国家/地区列表,如下图所示。

SoapUI REST Web 服务

2. GetCountryName 请求:与 GetAllCountry 请求一样,我们必须执行GetCountryName请求,该请求返回国家的具体名称和其他详细信息。

步骤 1:为了执行请求,我们必须从测试步骤中选择GetCountryName请求,然后双击它,如下所示。

SoapUI REST Web 服务

第 2 步:单击运行图标(绿色三角形)运行请求,然后显示国家的特定名称和其他详细信息,如下所示。

SoapUI REST Web 服务

执行测试用例

首先,我们必须选择测试用例,然后双击所选的GetCountries Test Case 1,如下所示。

SoapUI REST Web 服务

当我们点击 Run 图标来执行 TestCase 时,它开始执行测试用例中的测试步骤,如下所示。

SoapUI REST Web 服务

执行测试套件

首先,我们要选择测试套件,然后双击选择的国家测试套件1,如下图。

SoapUI REST Web 服务

它在单击运行按钮时在测试套件内执行国家测试套件1GetCountries 测试用例 1,如下图所示。

SoapUI REST Web 服务

断言

断言是用于检查目标 REST Web 服务是否与预期输出的工作方式相同的验证规则。当用户请求 Web 服务器时,服务器接收请求并生成响应。因此,我们必须验证包含与我们预期或不相同的数据的响应。

要验证特定国家/地区名称是否存在于 REST Web 服务中,我们必须按照以下步骤添加断言并验证服务请求。

步骤1:选择GetCountryName请求,然后点击(+)图标添加断言,如下图。

SoapUI REST Web 服务

添加断言后,它会显示一个弹出窗口,如上图所示。转到属性内容类别,然后选择包含检查字符串是否存在;单击添加按钮以添加包含断言

包含断言:用于验证响应xml中是否存在指定的字符串。它还支持正则表达式。

第 2 步:单击“添加”按钮后,会显示一个弹出对话框。

SoapUI REST Web 服务

步骤 3:在内容块中输入国家/地区名称以验证特定内容是否存在于 REST Web 服务中。

SoapUI REST Web 服务

第四步:输入国家名称后,点击确定按钮,在SoapUI工具中测试验证,如下图。

SoapUI REST Web 服务

第 5 步:现在,我们再次单击 (+) 以添加用于验证请求的断言,如下所示。

SoapUI REST Web 服务

第六步:选择Not Contains assertion,然后点击添加按钮提供字符串,如下图。

SoapUI REST Web 服务

第七步:提供NotContains Assertion名称后点击OK按钮测试验证,如下图。

SoapUI REST Web 服务

同样,我们可以添加更多断言来测试 REST 服务。