我的任务是测试一些 Web 服务。我之前一直在使用 SOAPUI 来测试 Web 服务,也使用 SELENIUM 来进行一些 WebUI 测试。我目前的任务涉及测试一些 oauth 服务。基本上我需要能够通过使用 SELENIUM 的 oauth 身份验证并存储生成的访问令牌并将其传递给我的 SOAPUI 测试以测试服务。我已经阅读了很多关于将 selenium 与 SOAPUI 集成的博客,但我还没有看到和指导向您展示如何做到这一点。我正在使用带有 SOAPUI 4.0.1 的 MacbookPro 任何帮助将不胜感激。
2 回答
我可以在 SOAP Groovy 脚本中调用 Webdriver 实例并使用 UI 断言断言 API 遵循以下步骤
Step1 : 进入 SoapUI 安装目录 bin/ext 并删除 selenium 独立服务器 jar 文件(此路径中的所有 jar 将加载到您的路径中,您可以在此位置添加任何 jar 文件并在 Groovy 脚本步骤中调用它们)
C:程序文件/SmartBearSoapUI-Pro-4.6.4/bin/ext
Jar 文件名:selenium-server-standalone-2.40.0
第 2 步:在 SOAP UI 中创建一个新项目
第 3 步:添加新的 Groovy 脚本步骤
第 4 步:在 Groovy Step 中使用以下脚本创建您的 selenium 驱动程序(Groovy 是基于 Java 构建的,因此所有 JAVA 库和代码都可以这样工作)
import org.openqa.selenium.WebDriver
import org.openqa.selenium.firefox.FirefoxDriver
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.com ")
log.info("Pagee is: " + driver.getTitle())
driver.quit()
第 5 步:运行您的脚本
- 您可能必须第一次重新启动您的 soapui 会话。
如果您想验证 JAVA Webdriver 代码中的 API,我建议您使用 REST 保证 API
https://code.google.com/p/rest-assured/
希望这可以帮助。
第一步,您需要下载最新版本selenium-server-standalone-*.jar
并将其放入$SOAPUI_HOME/bin/ext
;重新启动 SoapUI。
接下来,您需要在Groovy Step中将 Selenium 脚本编写为Groovy 脚本:无类声明。所以像:
def chromeDriverBinary = new File("selenium/bin/windows/googlechrome/32bit/chromedriver.exe")
assert chromeDriverBinary.canExecute()
System.setProperty("webdriver.chrome.driver", chromeDriverBinary.canonicalPath)
def driver = new ChromeDriver()
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS)
driver.get("http://www.website.test")
这个问题仍然没有公认的答案,所以我想我会发布我自己的尝试,在博客文章中描述: http: //siking.wordpress.com/2011/08/22/groovy-selenium-webdriver-and-soapui-第 3 部分/ 也许它对某人有用?