如果问题是关于在GRID2使用Safari的新方式,用SafariDriver,那么这将是典型的方法,我相信(或多或少):
import org.openqa.selenium.*;
import org.openqa.selenium.remote.*;
import java.net.*;
DesiredCapabilities c = new DesiredCapabilities();
c.setBrowserName("safari");
/* you can then set version & platform as well, but the minimum is just browser. Maybe for Grid2 you need the others, but for remote web driver only, you don't.
*/
WebDriver d = new RemoteWebDriver(new URL("http://hubIpOrHostname:hubPort/wd/hub"),c);
,并应工作。在服务器端,我相信你只是为每个维基文档的Grid2实例化(最后我检查,现在可能不一样):
//启动集线器 java -jar selenium-server-standalone-2.21.0。罐子-role毂-port theHubPort
//启动节点 Java的罐子硒 - 服务器 - 独立-2.21.0.jar -role节点-hub HTTP: //172.22.6.198:4446/wd/hub但是,似乎目前的Grid2并不提供Safari支持。当我查找集线器中注册节点的控制台时,它没有显示Safari的图标。也许我错过了什么。下次我会尝试添加平台和版本,看看是否有差异,但不要想。
下面是错误的一个片段,我得到了GRID2与SafariDriver:
2012年5月11日下午6时01分11秒org.openqa.selenium.remote.RemoteWebDriver执行 INFO:执行:[空,newsession的{“desiredCapabilities”:“Capabilities [{}} {}}}}}}} //错误://未捕获的异常:类型变量声明:对象构造函数 :at行:7:in file :: new RemoteWebDriver URL(“http: //172.22.6.198:4446/wd/hub”),c)
目标异常:org.openqa.selenium.WebDriverExcept离子:错误转发所述n EW会话不能找到:{browserName =狩猎} 命令持续时间或超时:109毫秒
需要注意的:与webdriver的,相同的代码可以被用于(独立)远程的webdriver执行VS网格,区别在于,对于使用远程服务器ip和grid2的远程,您使用hub ip。 SafariDriver通过远程webdriver工作,但目前似乎还没有在Grid2上工作。
远程启动的webdriver:
Java的罐子selenum服务器 - 独立-2.21.0。jar [-port somePort] //默认端口4444
您使用的是哪个版本的Selenium?根据[用户Darrell的最新评论],Safari浏览器无法正常工作(http://darrellgrainger.blogspot.co.uk/2011/02/using-selenium-20-with-webdriver-and.html?showComment = 1333108018252#c9157838719535505020) – shamp00 2012-04-25 13:14:54