SoapUI REST Web 服务 SoapUI 负载测试 SoapUI 安全测试 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选项,如下所示。 或者我们可以通过简单地单击 REST 选项来创建一个新的 REST 项目,如下所示 步骤 2:单击 REST 选项后,它会显示一个新建 REST 项目的对话框。 这是WADL URI: HTTPS://restcountries.eu/rest/v2/all 插入WADL URI后,点击OK按钮,显示REST项目,如下图。 在上图中,请求 1窗口将打开到右侧,包含请求 1的 REST 项目位于左侧窗格中。 探索 WADL 我们可以通过双击REST服务来定位WADL服务,打开WADL服务的概览向导,如下图。 步骤 1:单击服务端点选项卡。 服务端点用于提供 WADL URI 端点。此外,我们可以为需要身份验证的 WADL 服务定义多个端点。 第二步:点击WADL Content,获取REST Service的导入元素,如下图。 在 REST 服务中添加 TestSuite 为了在 REST 服务中添加测试套件,我们必须在 REST 项目中遵循以下步骤。 第 1 步:我们可以通过两种方式创建测试套件: \1. 右键单击“REST Project 1”,然后选择“新建测试套件”以显示对话框,如下所示。 \2. 或者我们可以直接在Rest Request上点击右键,然后点击Add to Testcase Service,直接创建一个测试套件,如下图。 选择测试用例后,会显示一个测试套件的对话框,如下所示。 第 2 步:提供用于创建 TestSuite 的名称,然后单击 OK 按钮。我们提供了 TestSuite 名称Country TestSuite 1。 步骤 3:当按下 OK 按钮时,它会显示一个对话框,用于提供 TestCase 名称,如下所示。 在这里,我们将TestCase的名称指定为“GetCountries TestCase 1”,然后单击“确定”按钮。 第 4 步:单击 OK 按钮后,它会显示一个对话框,将请求添加到测试用例,如下所示。 在这里,我们提供了 TestCase 名称作为'GetAllCountry',如给定的图像所示。 步骤 5:指定测试用例请求的名称之后。单击确定按钮创建一个新窗口,如下图所示。 如上图所示,GetAllCountry请求位于导航栏的左窗格中,GetAllCountry的 UI位于右窗格中。 在运行时在 SoapUI 中创建 REST 服务 同理,我们可以在SoapUI的一个REST工程中,在运行时添加REST URI、TestSuite、TestCase和Request for the Test Case ,如下图。 步骤 1:右键单击 REST 项目 1,然后从 URI 中选择New Rest Service。 当我们从 URI单击New Rest Service 时,它会显示一个弹出对话框以输入REST URI。这是用于按名称获取国家/地区的 REST URI 。 https: //restcountries.eu/rest/v2/name/united 插入 URI 后,单击OK按钮,它将显示新服务的下图。 请求 1 窗口将在上图中的右侧打开,包含请求 1 的 REST 项目位于左侧窗格中。 第 2 步:现在,我们为RESTService创建TestSuite、测试用例和请求。 对于 TestSuite:右键单击Request 1,然后选择Add to TestCase,如下所示。 当我们选择Add to TestCase 时,它会显示一个用于在TestSuite 中定义TestCase的对话框,如下所示: 上面的对话框表示我们是要在国家测试套件 1和获取国家测试套件 1内创建请求,还是要在国家测试套件 1内创建请求,但使用新的测试用例或创建新的测试套件。 在这里,我们选择了“Countries TestSuite 1-GetCountries TestCase1”并单击“确定”按钮。 第 3 步:单击 OK 按钮后,它会显示Add Request to TestCase,然后输入请求的名称。 第四步:点击确定按钮。 如上图所示,GetCountryNameRequest位于导航栏的左窗格中,GetCountryNameRequest的 UI位于右窗格中。 在 SoapUI 中执行 REST 测试结构 现在我们将学习如何在 SoapUI 中执行 REST 项目的测试步骤请求、测试用例和测试套件。 测试步骤要求: 1. GetAllCountry:当我们执行 GetAllCountry 请求的测试步骤时,它会显示所有国家的列表以及其他详细信息。 步骤 1:为了执行请求,我们必须从测试步骤中选择GetAllCountry请求,然后双击它,如下所示。 第 2 步:通过单击绿色运行按钮运行请求,然后它会显示包含其他详细信息的国家/地区列表,如下图所示。 2. GetCountryName 请求:与 GetAllCountry 请求一样,我们必须执行GetCountryName请求,该请求返回国家的具体名称和其他详细信息。 步骤 1:为了执行请求,我们必须从测试步骤中选择GetCountryName请求,然后双击它,如下所示。 第 2 步:单击运行图标(绿色三角形)运行请求,然后显示国家的特定名称和其他详细信息,如下所示。 执行测试用例 首先,我们必须选择测试用例,然后双击所选的GetCountries Test Case 1,如下所示。 当我们点击 Run 图标来执行 TestCase 时,它开始执行测试用例中的测试步骤,如下所示。 执行测试套件 首先,我们要选择测试套件,然后双击选择的国家测试套件1,如下图。 它在单击运行按钮时在测试套件内执行国家测试套件1和GetCountries 测试用例 1,如下图所示。 断言 断言是用于检查目标 REST Web 服务是否与预期输出的工作方式相同的验证规则。当用户请求 Web 服务器时,服务器接收请求并生成响应。因此,我们必须验证包含与我们预期或不相同的数据的响应。 要验证特定国家/地区名称是否存在于 REST Web 服务中,我们必须按照以下步骤添加断言并验证服务请求。 步骤1:选择GetCountryName请求,然后点击(+)图标添加断言,如下图。 添加断言后,它会显示一个弹出窗口,如上图所示。转到属性内容类别,然后选择包含检查字符串是否存在;单击添加按钮以添加包含断言。 包含断言:用于验证响应xml中是否存在指定的字符串。它还支持正则表达式。 第 2 步:单击“添加”按钮后,会显示一个弹出对话框。 步骤 3:在内容块中输入国家/地区名称以验证特定内容是否存在于 REST Web 服务中。 第四步:输入国家名称后,点击确定按钮,在SoapUI工具中测试验证,如下图。 第 5 步:现在,我们再次单击 (+) 以添加用于验证请求的断言,如下所示。 第六步:选择Not Contains assertion,然后点击添加按钮提供字符串,如下图。 第七步:提供NotContains Assertion名称后点击OK按钮测试验证,如下图。 同样,我们可以添加更多断言来测试 REST 服务。 SoapUI 负载测试 SoapUI 安全测试