SoapUI 模拟服务


SoapUI 模拟服务

Mock 服务是 SoapUI 测试工具的一个重要特性。它创建一个虚拟的或虚拟的 Web 服务来模拟对 Web 服务请求的响应。模拟服务创建一个虚拟环境来测试与真实服务类似的 Web 服务。它可以在开发和审查Web服务的同时测试离线Web资源。模拟服务可用于SOAP 和 REST Web项目。

Mocking 服务的优势

以下是SoapUI 中模拟服务的各种优势。

  1. 使用模拟服务,我们可以在实际程序开发时创建尚未实现的测试用例。
  2. 它为想要学习使用真实 Web 服务或应用程序的新学习者提供了虚拟平台。
  3. 它还为应用程序中的不可用资源创建演示和测试。
  4. 在 Web 服务中部署实际操作之前,我们可以测试一个实时环境。
  5. 它允许在需要时隔离 Web 服务的子系统功能,并且在执行测试时不会影响其他组件。

现在我们将学习如何在 SoapUI 测试工具中为 Soap 和 REST 项目创建、编辑和调用模拟服务。

SOAP 模拟服务:我们可以通过从我们的肥皂响应消息创建模拟服务来模拟 SOAP Web 服务请求消息。

为了创建 SOAP 模拟服务,我们必须遵循以下给出的步骤,如图所示。

步骤1:首先选择现有的Soap项目,然后在Navigator中选择SOAP服务。之后,右键单击允许我们选择或单击“Generate SOAP Mock Service”的服务,如下所示

SoapUI 模拟服务

步骤2:点击Soap Mock Service后,会弹出一个对话框,生成一个mock服务窗口,如下图所示。

SoapUI 模拟服务

在上面的截图中,它要求包含各种模拟细节,例如操作、路径、端口、添加端点和一个复选框,以立即启动 Soap 的模拟服务。之后,单击 OK 按钮在 Mock 服务中继续进行。

Step 3:点击OK按钮后,会弹出一个对话框,指定Mock Service的名称或保持默认,如下图。

SoapUI 模拟服务

第 4 步:单击 OK 按钮后,它会创建一个 Soap Mock 服务,可以从 Soap 项目的左侧窗格访问该服务,如下所示。

SoapUI 模拟服务

从左侧窗格可以访问模拟服务,并且还显示了上图中右侧窗格的模拟服务窗口的各种操作。

第 5 步: 当我们双击Add操作时,它会显示一个弹出窗口,用于显示 Soap Mock 服务中的 Add 响应。

SoapUI 模拟服务

步骤6:双击“响应1”的的MockResponses打开基于XML的响应编辑器,它是相同的通常了SoapUI请求编辑器,如图所示。

SoapUI 模拟服务

第 7 步:现在,我们通过替换一个新值代替“?”来编辑响应编辑器。如上图所示。在这里,我们将替换 '?' 用“两个零”,如下图。

SoapUI 模拟服务

调用并执行 Soap Mock 服务

第 8 步:现在,我们检查模拟服务是否正常工作。我们必须回到 Mock 服务编辑器,然后单击运行按钮来执行服务。它将开始执行模拟服务,如下所示。

SoapUI 模拟服务

单击绿色箭头按钮后,模拟服务在端口8088上运行。如果我们想停止服务,随时点击红色按钮。

创建 SOAP 请求

第九步:现在点击Add操作的“Create Soap Request”,它会创建一个发送到mock服务的请求,如下图。

SoapUI 模拟服务

第十步:点击Create Soap Request后,会弹出一个对话框,选择默认请求或者新建请求,如下图。

SoapUI 模拟服务

第 11 步:一旦按下OK按钮,它会显示类似于普通 Web 服务请求的 Add mock service 请求窗口,如下所示。

SoapUI 模拟服务

模拟响应服务

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/">  
   <soap:Header/>  
   <soap:Body>  
      <tem:Add>  
         <tem:intA>?</tem:intA>  
         <tem:intB>?</tem:intB>  
      </tem:Add>  
   </soap:Body>  
</soap:Envelope>

第 12 步:现在我们点击 Run 图标(绿色三角形)执行模拟服务,该服务将返回我们之前在模拟中配置的 Web 响应,如下所示。

SoapUI 模拟服务

因此,我们已经成功创建了我们的第一个 soap 模拟服务,并且可以使用了。

REST 模拟服务

使用 SoapUI 中的 Mock 功能,我们可以通过从其 REST 响应消息创建模拟服务来模拟RESTful Web 服务请求消息,该响应消息可以是JSON、HTML、XML和纯文本等格式。

为了创建 REST 模拟服务,我们必须遵循以下给出的步骤,如图所示。

第一步:首先选择已有的REST项目,从项目中选择REST https://restcountries.eu”服务。之后,右键单击允许选择或单击“Generate REST Mock Service”的服务,如下图所示。

SoapUI 模拟服务

第 2 步:点击“REST Mock Service”后,会弹出一个对话框来生成一个模拟服务窗口,如下图所示。

SoapUI 模拟服务

第三步:指定Mock Service Name,然后点击OK按钮创建' REST Mock service 1',如下图。

SoapUI 模拟服务

当我们单击 OK 按钮时,它开始执行“REST MockService 1”,如上图所示。

第四步:双击“/rest/v2/name”动作后,显示模拟响应窗口,如下图。

SoapUI 模拟服务

第五步: 双击“Response 1”打开REST Response 1,如下图。

SoapUI 模拟服务

HTTP 状态代码200表示成功响应。它将与编辑器一起出现在上图中。从下拉菜单中选择特定服务或媒体类型后,我们可以更改客户的请求-响应。因此,我们创建了一个REST模拟服务并准备使用。