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

SoapUI是用于Api测试的最流行的开源功能测试工具。它提供完整的测试覆盖范围,并支持所有标准协议和技术。

什么是肥皂?

SOAP是一种简单的基于XML的协议。它允许应用程序使用Web服务说明用于通信的 language(WSDL) 语言。其他应用程序也可以使用WSDL接口与Web服务交互。

什么是SOAPUI?

SOAPUI是一个开源、跨平台的Web服务测试工具。SOAPUI-Pro具有额外的功能,Web服务在Internet应用中扮演着重要的角色。

Selenium

  • Selenium:-它是一个测试工具,可以跨多个平台自动化浏览器。
  • Selenium Webdriver:-它直接调用浏览器。它使用浏览器的本机支持来实现自动化。

带SoapUI的Selenium

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

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

将Selenium与SoapUI配合使用的前提条件

  • 下载Groovy SDK:
  • 安装Java SDK
  • 安装Selenium
  • 安装SoapUI Pro

在Selenium中调用SoapUI Testcase运行器。

下面的代码将用于调用SoapUI测试用例。它将设置此代码将在Selenium中运行。

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

运行代码的说明。

  • 启动SoapUI
  • 启动新的测试用例
  • 添加一个新的Groovy步骤。
  • 复制并将示例代码粘贴到步骤中。
  • 单击Play(播放)。
  • 可以看到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++;
        }
    }
}
}

Console视图使我们能够一览无余地查看所有执行的测试用例。将找到一个邮政编码列表,获取并传递到SoapUI测试用例1中的城市。

查看SoapUI日志文件

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

Using SoapUI with Selenium
Using SoapUI with Selenium

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

Using SoapUI with Selenium
Using SoapUI with Selenium

当通过单击打开此日志文件时,它将类似于下面的屏幕截图。

Using SoapUI with Selenium
Using SoapUI with Selenium

总结

  • SOAP是简单的基于XML的协议。它允许通过HTTP交换信息。
  • SoapUI是一个开源、跨平台的Web服务测试工具。
  • Selenium是一套测试工具,可以跨多个平台自动化浏览器。
  • Selenium Webdriver直接调用浏览器。它使用浏览器的本地支持来实现自动化。
  • Selenium使用Groovy与SoapUI集成。

IT赶路人

专注IT知识分享