我有一个问题,使用适用于本地webdriver的远程webdriver(grid2)运行测试

时间:2012-06-30 04:09:08

标签: testing selenium webdriver

我对某些Webdriver测试有一点问题,以便使用grid2运行它们。

我的第一个问题是,某些测试需要检查另一个域上的内容,例如,我从域AA开始,然后检查域BB上的结果。当我运行本地时转到域BB不是问题,但使用网格(从集线器启动并在客户端上测试)测试在该步骤中停止。

另一个问题是,许多findby函数只能在本地运行,但是使用远程webdriver它们会返回一个空指针异常(例如,通过xpath)。为什么webdriver在测试是本地时查找元素而不是在远程PC上运行测试时?

作为澄清,在两台PC(集线器和节点)中,当我在本地运行时,测试运行完美,但在两者中,它们都无法使用远程webdriver。

关于他的任何线索?

1 个答案:

答案 0 :(得分:0)

可能有多种原因因浏览器,版本,设置,操作系统等而异。您在谈论什么浏览器?你的硒版本是什么?这个问题在所有浏览器上都是持久的您的域名是否使用安全协议HTTPS?您定义远程webdriver的几行代码也会有所帮助。否则给出答案就是在黑暗中拍摄。你尝试过Desired Capabilities吗?像下面的东西?

DesiredCapabilities capabilities =  DesiredCapabilities.firefox();
capabilities.setJavascriptEnabled(true);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);      
capabilities.setCapability(CapabilityType.HAS_NATIVE_EVENTS, true);
capabilities.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
driver = new RemoteWebDriver(new URL("....."), capabilities);

也许这会引导您找到解决方案。如果您使用的是IE,请确保您正在测试的域存在于受信任的站点设置中。