我的Selenium节点启动并成功注册到我的Selenium网格。然后,当委托由集线器运行测试时,打开一个新的safari窗口,加载我们的页面然后挂起,打开页面并抛出NoSuchWindowException。控制台输出如下:
private void initTest(String testName, String testPage)
{
WebDriver driver = this.createDriver(testName, testPage);
..........
}
private WebDriver createDriver(String testName, String testPage)
{
WebDriver driver = null;
driver = createRemoteDriver(webDriverName, testPlatform);
initDriver(driver, testPage, testName);
return driver;
}
private void initDriver(WebDriver driver, String testPage, String testName)
{
final String TEST_PAGE_URL = deployUrl + testPage;
driver.get(TEST_PAGE_URL);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.manage().window().setPosition(DEFAULT_ORIGIN);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.manage().window().setSize(DEFAULT_BROWSER_SIZE);
.........
}
以下是初始化webDriver并导致调用setPosition的方法链,其中出现问题:
{{1}}
我正在运行OSX Sierra,Selenium 3.0.1服务器jar,以及针对Selenium 3的新Safari 10 Webdriver,如下所述:https://webkit.org/blog/6900/webdriver-support-in-safari-10/
我已经尝试在驱动程序初始化之后添加隐式等待等,以防在其他各种情况下似乎应该归咎于此异常的时间问题可能是责任,遗憾的是没有看到任何差异。
在Selenium尝试设置其位置时,我不知道我的页面是否完全没有完全加载,但是如果这是问题,那么可能会预期添加隐式等待来修复它
总而言之,这是Safari 10网络驱动程序的已知问题,还是其他人遇到的问题?