带safari浏览器的Selenium网格

带safari浏览器的Selenium网格,selenium,selenium-grid,Selenium,Selenium Grid,请帮帮我 如何在selenium网格中实例化Safari capabilities = new DesiredCapabilities(); // Version browser capabilities.setVersion(versaoBrowser); capabilities.setBrowserName("safari"); capabilities.setJavascriptEna

请帮帮我 如何在selenium网格中实例化Safari

    capabilities = new DesiredCapabilities();
            // Version browser
            capabilities.setVersion(versaoBrowser);
            capabilities.setBrowserName("safari");
            capabilities.setJavascriptEnabled(true);
            // Platform test runner
            capabilities.setPlatform(platform);
服务器上是weel

-browser "browserName=safari,version=5,platform=WINDOWS,javascriptEnable=true"

我相信你想要的是这样的东西

selenium = new DefaultSelenium("localhost", 4444, *safari,"http://google.com.au");
selenium.start();
我通常使用WebDriver,但我的理解是,功能是创建浏览器实例时的选项,而不是打开浏览器本身。虽然我可能是错的,因为我没有硒网格的经验


编辑:也许会有帮助。

我相信你想要的是这样的东西

selenium = new DefaultSelenium("localhost", 4444, *safari,"http://google.com.au");
selenium.start();
我通常使用WebDriver,但我的理解是,功能是创建浏览器实例时的选项,而不是打开浏览器本身。虽然我可能是错的,因为我没有硒网格的经验


编辑:可能会有帮助。

如果问题是关于以新的方式使用Safari,使用SafariDriver over Grid2,那么这将是我相信的典型方法(或多或少):

这应该行得通。在服务器端,我相信您只是按照wiki文档为Grid2进行了正常的实例化(我最后一次检查,可能是diff):

//起动毂 java-jar selenium-server-standalone-2.21.0.jar-role hub-port-thehubbort

//启动节点 java-jar-selenium-server-standalone-2.21.0.jar-角色节点-集线器http: //172.22.6.198:4446/wd/hub-端口到端口

然而,当前的Grid2似乎不提供Safari支持。当我在控制台中查找hub中注册的节点时,它没有显示Safari的图标。也许我错过了什么。下次我会尝试添加平台和版本,看看这是否会造成差异,但我不这么认为

以下是我在使用SafariDriver时遇到的Grid2错误片段:

2012年5月11日下午6:01:11 org.openqa.selenium.remote.RemoteWebDriver执行 信息:正在执行:[null,newSession{“desiredCapabilities”:“Capabilities[{browse rName=safari}]“}] //错误://未捕获异常:类型化变量声明:对象构造函数 :在第7行:文件中::新建RemoteWebDriver(新URL(“http: //172.22.6.198:4446/wd/hub“),c)

目标异常:org.openqa.selenium.WebDriverException:转发n ew会话找不到:{browserName=safari} 命令持续时间或超时:109毫秒

注意:对于webdriver,与grid相同的代码可用于(独立)远程webdriver执行,不同之处在于,对于remote,您使用远程服务器ip,而对于grid2,您使用集线器ip。SafariDriver可以在远程webdriver上工作,但目前似乎还不能在Grid2上工作

远程Web驱动程序启动:

java-jar selenum-server-standalone-2.21.0.jar[-port somePort]
//默认端口4444

如果问题是关于以新方式使用Safari,使用SafariDriver over Grid2,那么这将是我相信的典型方法(或多或少):

这应该行得通。在服务器端,我相信您只是按照wiki文档为Grid2进行了正常的实例化(我最后一次检查,可能是diff):

//起动毂 java-jar selenium-server-standalone-2.21.0.jar-role hub-port-thehubbort

//启动节点 java-jar-selenium-server-standalone-2.21.0.jar-角色节点-集线器http: //172.22.6.198:4446/wd/hub-端口到端口

然而,当前的Grid2似乎不提供Safari支持。当我在控制台中查找hub中注册的节点时,它没有显示Safari的图标。也许我错过了什么。下次我会尝试添加平台和版本,看看这是否会造成差异,但我不这么认为

以下是我在使用SafariDriver时遇到的Grid2错误片段:

2012年5月11日下午6:01:11 org.openqa.selenium.remote.RemoteWebDriver执行 信息:正在执行:[null,newSession{“desiredCapabilities”:“Capabilities[{browse rName=safari}]“}] //错误://未捕获异常:类型化变量声明:对象构造函数 :在第7行:文件中::新建RemoteWebDriver(新URL(“http: //172.22.6.198:4446/wd/hub“),c)

目标异常:org.openqa.selenium.WebDriverException:转发n ew会话找不到:{browserName=safari} 命令持续时间或超时:109毫秒

注意:对于webdriver,与grid相同的代码可用于(独立)远程webdriver执行,不同之处在于,对于remote,您使用远程服务器ip,而对于grid2,您使用集线器ip。SafariDriver可以在远程webdriver上工作,但目前似乎还不能在Grid2上工作

远程Web驱动程序启动:

java-jar selenum-server-standalone-2.21.0.jar[-port somePort]
//默认端口4444

您使用的是哪个版本的Selenium?根据您使用的Selenium版本,Safari浏览器无法正常工作?Safari浏览器无法根据正常工作,因此我使用的是selenium web驱动程序,这种类型的实例是selenium RC,在这方面取得了进展,我的库更新为selenium 2.21,现在我的代码很好
capabilities=DesiredCapabilities.Safari();能力。setBrowserName(“safari”);setJavascriptEnabled(true);能力。setPlatform(平台)并且我对safari的位置有新的问题…
请将包含“safari.exe”的目录添加到PATH环境变量中,或者像这样显式指定safari的路径:*safari c:\blah\safari.exe这是因为您必须将safari驱动程序放置在您将在代码中调用的位置(例如,safari=新的safariDriver(“在哪里”);)或者将文件路径添加到您的路径环境中。如果您在这个过程中需要帮助,请让我知道,我将截图并进行解释。JoaoSakai,您可以发布您获得的确切错误详细信息吗?我认为这可能会对我们其他人有所帮助。我不记得自己看到过该错误。我以为您只能指定Firefox的路径,而不能指定IE还有Safari…这对我来说是个新闻。另外,我可能错了,但我相信DesiredCapabilities.Safari()是主干中WebDriver/Selenium的一个新功能。同时,SafariDriver和独立服务器的Java绑定