Java 游猎。无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败

Java 游猎。无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败,java,selenium-webdriver,safari,webdriver,Java,Selenium Webdriver,Safari,Webdriver,我正试图在Safari上运行Selenium测试。我可以在FireFox和IE上运行我的测试,它运行良好,但不能在safari上运行。 因此,可能有人有同样的问题,可以告诉我为什么它不工作,是的,我已将WebDriver添加到Safari Extencions: 我有一个错误: SafariDriver仅适用于OS X。正如我从您的日志中看到的,您正在尝试在Windows 7上执行它。 您可以在此处查看受支持的操作系统和浏览器:因此,如果我没有OS X,是否有其他方法来运行此脚本?好的,您可

我正试图在Safari上运行Selenium测试。我可以在FireFox和IE上运行我的测试,它运行良好,但不能在safari上运行。 因此,可能有人有同样的问题,可以告诉我为什么它不工作,是的,我已将WebDriver添加到Safari Extencions:


我有一个错误:



SafariDriver仅适用于OS X。正如我从您的日志中看到的,您正在尝试在Windows 7上执行它。
您可以在此处查看受支持的操作系统和浏览器:

因此,如果我没有OS X,是否有其他方法来运行此脚本?好的,您可以始终设置一个运行OS X的虚拟机并在那里执行它。在我的团队中,我们使用支持Safari的Telerik Test Studio框架,它可以在Windows上执行。你可以在这里检查框架:框架很好,但在我的团队中,我们仍然在创建自己的框架。因此,使用另一个框架对我们来说是不可能的。所以,好的,我将在虚拟机上运行我的测试。Thx的答案:)
2015-08-03 13:18:57.666:INFO::main: Logging initialized @169ms
[2015/08/03 13:18:57] [ID:69E814D] [Session Start]: Initializing Session...
[2015/08/03 13:18:58] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:58 PM org.openqa.selenium.safari.SafariDriverServer start
INFO: Server started on port 39280

[2015/08/03 13:18:58] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:58 PM org.openqa.selenium.safari.SafariDriverCommandExecutor start
INFO: Launching Safari

[2015/08/03 13:18:58] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:58 PM org.openqa.selenium.safari.SafariDriverCommandExecutor start
INFO: Waiting for SafariDriver to connect

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverChannelHandler$1 operationComplete
INFO: Connection opened

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor start
INFO: Driver connected in 980 ms

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor stop
INFO: Shutting down

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor stop
INFO: Closing connection

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor stop
INFO: Stopping Safari

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.os.UnixProcess$SeleniumWatchDog destroyHarder
INFO: Command failed to close cleanly. Destroying forcefully (v2). org.openqa.selenium.os.UnixProcess$SeleniumWatchDog@2038ae61

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor stop
INFO: Stopping server

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverServer stop
INFO: Stopping server

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Aug 03, 2015 1:18:59 PM org.openqa.selenium.safari.SafariDriverCommandExecutor stop
INFO: Shutdown complete

[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Exception in thread "main" 
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.46.0', revision: '87c69e2', time: '2015-06-04 16:16:47'
System info: host: 'Vitaliii-PC', ip: '169.254.8.187', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_45'
Driver info: driver.version: SafariDriver
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:141)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:58)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:51)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at Kodak.AutoTest.Framework.Session.Start(Session.java:117)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at Kodak.AutoTest.QBT.TC93CreateProject.main(TC93CreateProject.java:27)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]: Caused by: java.lang.ClassCastException: com.google.gson.JsonObject cannot be cast to java.lang.String
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:111)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:42)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.safari.SafariDriverCommandExecutor.execute(SafariDriverCommandExecutor.java:191)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:578)
[2015/08/03 13:18:59] [ID:69E814D] [Selenium]:  ... 7 more
switch(this.type)
        {
            case IE:
                File file = new File(this.config().getParam(ConfigFacade.IEDriverPath_Key));
                System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
                //System.setProperty("webdriver.ie.logfile, ""); // TODO: here somehow redirect log to stream.
                this.driver = new InternetExplorerDriver();
                break;
            case Chrome:
                File chromeFile = new File(this.config().getParam(ConfigFacade.ChromeDriverPath_Key));
                System.setProperty("webdriver.chrome.driver", chromeFile.getAbsolutePath());
                this.driver = new ChromeDriver();
                break;
            case FireFox:
                this.driver = new FirefoxDriver();
                break;
            case Safari:
                this.driver = new SafariDriver();
                break;
            default:
                throw new TestException(String.format("Browser (%1s) is not implemented yet", this.type.toString()));
        }