使用 SoapUI 和 Selenium 进行 Web 服务测试

SoapUI 是最受欢迎的开源功能测试工具,用于API 测试。它提供完整的测试覆盖率,并支持所有标准协议和技术。

什么是 SOAP?

SOAP 是一种简单的基于 XML 的协议。它允许应用程序通过 HTTP 交换信息。它使用Web 服务描述语言(WSDL)进行通信。其他应用程序也可以使用 WSDL 接口与 Web 服务交互。

什么是 SOAPUI?

SOAPUI 是一款开源跨平台 Web 服务测试工具。SOAPUI-Pro 具有针对处理关键 Web 服务的公司的额外功能。Web 服务在互联网应用程序中扮演着重要角色。

Selenium

  • Selenium:- 它是一个用于自动化跨多个平台的浏览器的测试工具。
  • Selenium WebDriver:- 它直接调用浏览器。它利用浏览器对自动化的原生支持。

Selenium 与 SoapUI 结合使用

将 Selenium 与 SoapUI 集成的最简单易行的方法是使用 Groovy。SoapUI 广泛支持 Groovy。

Groovy 是一种面向对象的脚本语言。Groovy 包含所有Java 库。因此,所有与 Java 相关的关键字和函数都可以直接在 Groovy 脚本中使用。它与 JVM(Java 虚拟机)集成。

使用 Selenium 和 SoapUI 的先决条件

在 Selenium 中调用 SoapUI 测试用例运行器。

以下代码将用于调用 SoapUI 测试用例。它将设置城市和相应邮政编码的属性。当代码执行时,它将获取城市和邮政编码的值。同时,显示与相应城市和邮政编码不匹配的失败计数。此代码将在 Selenium 中运行。

注意:“usePropertyFileFlag=true”在这里表示不使用静态属性文件来存储邮政编码和城市。邮政编码和城市的信息将在运行时通过 setProjectProperties() 方法动态传递。

运行代码的说明。

  • 启动 SoapUI
  • 启动一个新的测试用例
  • 添加一个新的 Groovy 步骤。
  • 将示例代码复制粘贴到该步骤中。
  • 点击播放。
  • 您将看到 Firefox 启动并导航到 Google。之后,您可以看到 SoapUI 的日志条目。
  • 使用 JUnit 运行代码

代码示例

@when("<I use the weather service to get the weather information")						
    public void i_use_the_weather_service_to_get_the_information() {
        Set<Entry<String, string>> set = zipAndCities.entrySet();
        while (iterator,hasNext)) {
            Entry<String, String> entry = iterator.next();
            String zipCode = entry.getkey();
            String city = entry.getValue();
            String[] prop = {"usePropertyFileFlag=true","zipCode=" +zipCode, "city=" +city};									
            
            try{
                SoapUITestCaseRunner soapUITestCaseRunner = new	SoapUITestCaseRunner();
                soapUITestCaseRunner.setProjectFile("src/test/resources/WeatherSoapTest-soapui-project.xml");					
                soapUITestCaseRunner.setProjectProperties(prop);
                soapUITestCaseRunner.setTestSuite("TestSuite1");
                soapUITestCaseRunner.setTestCase("TestCase1");
                soapUITestCaseRunner.run();
                
            } catch (Exception e) {
                System.err.println("checking" + zipCode + " failed!");
                failureCount++;
                zipCodes.append(zipCode + " [" + city +"] ");
                e.printStackTrace();
            }finally{					
                totalCount++;
            }
}
}
}

控制台视图使我们能够一览所有已执行的测试用例。您将找到一系列获取到的邮政编码、城市,并将其传递给 SoapUI 测试用例 1。

查看 SoapUI 日志文件

日志文件记录了操作系统或软件应用程序中发生的所有操作。要查看 SoapUI 日志文件,请转到主目录,您将看到一个名为“soapui.log”的文件。

View SoapUI Log file

在 SoapUI 中,日志文件位于安装目录的 bin 文件夹中。例如:C:\Program files\SmartBear\soapUI-Pro-4.0.1\bin

View SoapUI Log file

当您点击打开此日志文件时,它看起来与下面的截图类似。

View SoapUI Log file

摘要

  • Soap 是一种简单的基于 XML 的协议。它允许通过 HTTP 交换信息。
  • SoapUI 是一款开源的跨平台 Web 服务测试工具。
  • Selenium 是一套测试工具,用于自动化跨多个平台的浏览器。
  • Selenium WebDriver 直接调用浏览器。它利用浏览器对自动化的原生支持。
  • Selenium 使用 Groovy 与 SoapUI 集成。