如何使用Java使用Selenium WebDriver启动Safari

时间:2014-10-27 22:56:06

标签: java selenium-webdriver safari safaridriver

我已成功安装safari驱动程序的safari开发人员证书。我已经构建并添加到safari扩展构建器中。预备已经完成。但是,当我运行我的selenium脚本时,safari服务器在一个端口上启动,然后我在我的eclipse控制台中得到以下错误,如下所示:

Oct 27, 2014 3:49:37 PM org.openqa.selenium.safari.SafariDriverServer start
INFO: Server started on port 22131
java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.openqa.selenium.safari.SafariDriverCommandExecutor
at org.openqa.selenium.safari.SafariDriverCommandExecutor.start(SafariDriverCommandExecutor.java:99)
at org.openqa.selenium.safari.SafariDriver.startClient(SafariDriver.java:115)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:115)
at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:101)
at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:94)

Safari浏览器打开,出现错误“Safari无法找到文件”

任何帮助都会得到满足 感谢

4 个答案:

答案 0 :(得分:4)

您好,
设置Selenium测试以在Safari浏览器上运行是一个相当复杂的过程。您需要在计算机中安装Safari Extensions Developer Certificate,并在Safari浏览器中安装selenium webdriver作为扩展。

Safari浏览器自动化和安全性也存在一些稳定性问题。 Mac 10.9 OS及更低版本的Selenium组合。  在Mac Yosemite OSX&amp; amp; amp; amp; Mac Safari 8.0.x与Selenium v​​2.45.0的组合

可以看到设置的详细步骤here

问候,
VJ

答案 1 :(得分:1)

从Selenium 2.30.0开始,SafariDriver与Selenium服务器捆绑在一起。如果您希望从源代码构建驱动程序,请转到SafariDriverInternals页面。现在,抓住Selenium jar的副本并将其添加到类路径中。为Safari编写测试与使用FirefoxDriver一样简单: 要手动安装最新的Safari扩展(2.43.1): -

-

答案 2 :(得分:0)

这可能是与Webdriver版本相关的问题,请使用最新的Webdriver版本,Safari驱动程序与Webdriver一起捆绑,就像firefox驱动程序一样,您只需使用以下代码调用驱动程序:

 SafariOptions options = new SafariOptions();
 options.setUseCleanSession(true); //if you wish safari to forget session everytime
 dvr = new SafariDriver(options); 

答案 3 :(得分:0)

在最新的Safari(截至2016年11月的10.0.1)中,默认情况下WebDriver支持处于关闭状态。要启用WebDriver支持,请执行以下操作:

  • 确保“开发”菜单可用。可以通过打开Safari首选项(菜单栏中的Safari&gt;首选项),进入“高级”选项卡,并确保选中菜单栏中的“显示开发”菜单复选框来打开它。
  • 在“开发”菜单中启用远程自动化。这是通过Develop&gt;切换的。在菜单栏中允许远程自动化。
  • 授权safaridriver启动托管本地Web服务器的webdriverd服务。要允许此操作,请手动运行路径/usr/bin/safaridriver中存在的safaridriver并完成身份验证提示。

现在,safari已准备好运行您的webdriver脚本。有关详细信息click here