我对某些Webdriver测试有一点问题,以便使用grid2运行它们。
我的第一个问题是,某些测试需要检查另一个域上的内容,例如,我从域AA开始,然后检查域BB上的结果。当我运行本地时转到域BB不是问题,但使用网格(从集线器启动并在客户端上测试)测试在该步骤中停止。
另一个问题是,许多findby函数只能在本地运行,但是使用远程webdriver它们会返回一个空指针异常(例如,通过xpath)。为什么webdriver在测试是本地时查找元素而不是在远程PC上运行测试时?
作为澄清,在两台PC(集线器和节点)中,当我在本地运行时,测试运行完美,但在两者中,它们都无法使用远程webdriver。
关于他的任何线索?
答案 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,请确保您正在测试的域存在于受信任的站点设置中。