我已成功安装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无法找到文件”
任何帮助都会得到满足 感谢
答案 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 v2.45.0的组合
可以看到设置的详细步骤here
问候,
VJ
答案 1 :(得分:1)
从Selenium 2.30.0开始,SafariDriver与Selenium服务器捆绑在一起。如果您希望从源代码构建驱动程序,请转到SafariDriverInternals页面。现在,抓住Selenium jar的副本并将其添加到类路径中。为Safari编写测试与使用FirefoxDriver一样简单: 要手动安装最新的Safari扩展(2.43.1): -
-
从这里下载Safari Driver jar: http://central.maven.org/maven2/org/seleniumhq/selenium/selenium-safari-driver/2.43.1/selenium-safari-driver-2.43.1.jar。 将文件重命名为.zip文件而不是.jar文件。解压缩它 (只需双击它即可)。在文件夹中,转到 /selenium-safari-driver-2.43.1/org/openqa/selenium/safari。双 单击“SafariDriver.safariextz”或在浏览器中简单拖动此文件。
System.setProperty("webdriver.safari.noinstall", "true"); //To stop uninstall each time
driver = new SafariDriver();
driver.get("Url");
答案 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支持,请执行以下操作:
/usr/bin/safaridriver
中存在的safaridriver并完成身份验证提示。现在,safari已准备好运行您的webdriver脚本。有关详细信息click here