SoapUI REST Web Service2025年3月17日 | 阅读 7 分钟 REST 是 REpresentational State Transfer(表述性状态转移)的缩写。它是一种轻量级的软件架构风格,专为网络应用设计,并使用标准协议与客户端-服务器系统通信以发送或接收响应。它被称为 RESTful Web Service,与 HTTP 协议相关。RESTful Web Service 通常使用 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:转到 **文件** 菜单按钮,然后单击 **新建 REST 项目** 选项,如下图所示。 ![]() 或者,我们可以通过单击 REST 选项来创建新的 REST 项目,如下图所示。 ![]() 步骤 2:单击 REST 选项后,会显示“新建 REST 项目”对话框。 ![]() 这是 **WADL** URI 插入 WADL URI 后,单击 OK 按钮即可显示 REST 项目,如下图所示。 ![]() 在上图中,**请求 1** 窗口将打开到右侧,包含 **请求 1** 的 REST 项目位于左侧窗格中。 探索 WADL我们可以通过双击 REST 服务来定位 WADL 服务,这将打开 WADL 服务的“概述”向导,如下图所示。 ![]() 步骤 1:单击“服务终结点”选项卡。 ![]() 服务终结点用于提供 WADL URI 终结点。此外,我们还可以为需要身份验证的 WADL 服务定义多个终结点。 步骤 2:单击 WADL 内容以获取 REST 服务的导入元素,如下图所示。 ![]() 在 REST 服务中添加 TestSuite要为 REST 服务添加测试套件,我们必须在 REST 项目中执行以下步骤。 步骤 1:我们可以通过两种方式创建测试套件: 1. 右键单击 **“REST 项目 1”**,然后选择 **新建测试套件** 以显示对话框,如下图所示。 ![]() 2. 或者,我们可以通过右键单击 REST 请求,然后单击“添加到测试用例服务”来直接创建测试套件,如下图所示。 ![]() 选择测试用例后,会显示测试套件的对话框,如下图所示。 ![]() 步骤 2:为创建测试套件提供名称,然后单击 OK 按钮。我们提供的测试套件名称为 **“Countries TestSuite 1”**。 ![]() 步骤 3:按下 OK 按钮后,会显示一个对话框,用于提供测试用例名称,如下图所示。 ![]() 在此,我们将 **测试用例** 的名称指定为 **“GetCountries TestCase 1”**,然后单击 OK 按钮。 步骤 4:单击 OK 按钮后,会显示一个对话框,用于添加请求到测试用例,如下图所示。 ![]() 在此,我们为测试用例提供了名称 **“GetAllCountry”**,如下图所示。 ![]() 步骤 5:指定测试用例请求的名称后。单击 **OK** 按钮以创建一个新窗口,如下图所示。 ![]() 如上图所示,**GetAllCountry** 请求位于导航栏的左侧窗格中,而 **GetAllCountry** 的 UI 位于右侧窗格中。 在 SoapUI 中运行时创建 REST 服务同样,我们也可以在 **SoapUI** 的 REST 项目中运行时添加 **REST URI、TestSuite、TestCase** 和 **Request**,如下图所示。 步骤 1:右键单击 REST 项目 1,然后选择 **从 URI 新建 REST 服务**。 ![]() 单击 **从 URI 新建 REST 服务** 后,会显示一个弹出对话框,用于输入 **REST URI**。这是用于获取 **按名称查询国家** 的 REST URI。 ![]() 插入 URI 后,单击 **OK** 按钮,它将显示新服务的图像。 ![]() 在上图中,请求 1 窗口将打开到右侧,而包含请求 1 的 REST 项目位于左侧窗格中。 步骤 2:现在,我们为 **RESTService** 创建 **TestSuite、Test Cases 和 Request**。 对于 TestSuite:右键单击 **请求 1**,然后选择 **添加到测试用例**,如下图所示。 ![]() 选择 **添加到测试用例** 后,会显示一个对话框,用于在 **TestSuite** 中定义 **TestCase**。 ![]() 上面的对话框显示我们是将在 **Countries TestSuite 1** 和 **Get Countries TestCase 1** 中创建请求,还是将在 **Countries TestSuite 1** 中创建请求,但使用 **新测试用例** 或 **创建新测试套件**。 ![]() 在此,我们选择了 **“Countries TestSuite 1- GetCountries TestCase1”** 并单击 **OK** 按钮。 步骤 3:单击 OK 按钮后,会显示 **添加请求到测试用例**,然后输入请求的名称。 ![]() 步骤 4:单击 OK 按钮。 ![]() 如上图所示,**GetCountryNameRequest** 位于导航栏的左侧窗格中,而 **GetCountryNameRequest** 的 UI 位于右侧窗格中。 在 SoapUI 中执行 REST 测试结构现在我们将学习如何在 SoapUI 中执行 REST 项目的测试步骤请求、测试用例和测试套件。 测试步骤请求 1. GetAllCountry:执行 GetAllCountry 请求的测试步骤时,它会显示所有国家/地区的列表以及其他详细信息。 步骤 1:要执行请求,我们必须从测试步骤中选择 **GetAllCountry** 请求,然后双击它,如下图所示。 ![]() 步骤 2:单击 **绿色运行** 按钮运行请求,然后它将显示国家/地区的列表以及其他详细信息,如下图所示。 ![]() 2. GetCountryName 请求:与 GetAllCountry 请求类似,我们必须执行 **GetCountryName** 请求,该请求返回特定国家/地区的名称以及其他详细信息。 步骤 1:要执行请求,我们必须从测试步骤中选择 **GetCountryName** 请求,然后双击它,如下图所示。 ![]() 步骤 2:单击运行图标(绿色三角形)运行请求,然后它将显示特定国家/地区的名称以及其他详细信息,如下图所示。 ![]() 执行测试用例首先,我们必须选择测试用例,然后双击选定的 **GetCountries Test Case 1**,如下图所示。 ![]() 单击运行图标执行测试用例后,它将开始执行测试用例中的测试步骤,如下图所示。 ![]() 执行测试套件首先,我们必须选择测试套件,然后双击选定的 **Countries TestSuite 1**,如下图所示。 ![]() 单击运行按钮后,它会执行测试套件内的 **Countries TestSuite 1** 和 **GetCountries Test Case 1**,如下图所示。 ![]() 断言断言是用于检查目标 REST Web Service 是否按预期输出工作的验证规则。当用户请求 Web 服务器时,服务器会接收请求并生成响应。因此,我们需要验证响应是否包含我们期望的数据。 要验证特定国家/地区名称是否存在于 REST Web Service 中,我们必须按照以下步骤添加断言并验证服务请求。 步骤 1:选择 **GetCountryName** 请求,然后单击 (+) 图标添加断言,如下图所示。 ![]() 添加断言后,会显示一个弹出窗口,如下图所示。转到“属性内容”类别,然后选择 **包含** 以检查字符串是否存在;单击 **添加** 按钮以添加 **包含断言**。 包含断言:用于验证指定的字符串是否存在于响应 xml 中。它也支持正则表达式。 步骤 2:单击添加按钮后,会显示一个弹出对话框。 ![]() 步骤 3:在内容块中输入国家/地区的名称,以验证该特定内容是否存在于 REST Web Service 中。 ![]() 步骤 4:输入国家/地区的名称后,单击 **OK** 按钮在 SoapUI 工具中测试验证,如下图所示。 ![]() 步骤 5:现在,我们再次单击 (+) 以添加断言来验证请求,如下图所示。 ![]() 步骤 6:选择 **不包含** 断言,然后单击添加按钮提供字符串,如下图所示。 ![]() 步骤 7:提供 **NotContains** 断言名称后,单击 **OK** 按钮测试验证,如下图所示。 ![]() 同样,我们可以添加更多断言来测试 REST 服务。 下一主题SoapUI 安全测试 |
我们请求您订阅我们的新闻通讯以获取最新更新。