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”的文件。
在SoapUI中,日志文件位于安装目录的bin文件夹中。例如C:Files-Pro-4.0.1
当通过单击打开此日志文件时,它将类似于下面的屏幕截图。
总结
- SOAP是简单的基于XML的协议。它允许通过HTTP交换信息。
- SoapUI是一个开源、跨平台的Web服务测试工具。
- Selenium是一套测试工具,可以跨多个平台自动化浏览器。
- Selenium Webdriver直接调用浏览器。它使用浏览器的本地支持来实现自动化。
- Selenium使用Groovy与SoapUI集成。