我们在Google Cloud上设置了多个Windows Server 2012机器,用于运行Selenium测试。它们在NodeJS中使用Mocha运行。Chrome和Firefox可以正常启动、运行和关闭,但是IE 11无法关闭。因此,Selenium服务器停止响应,并且所有在IE中的测试都会失败。
以下是我的before和after each钩子的代码。
我所设置的功能如下:
以下是我的before和after each钩子的代码。
// Launches browser, opens homepage, and closes the popup.
exports.beforeEach = function(capability) {
driver = utils.driver.launch(capability);
utils.driver.open(driver);
utils.driver.closePopup(driver);
}
exports.afterEach = function() {
driver.quit();
}
我所设置的功能如下:
{
browserName: browser,
version: version,
screenResolution: resolution,
requireWindowFocus: true,
unexpectedAlertBehaviour: "dismiss",
ignoreProtectedModeSettings: false,
ignoreZoomSetting: false,
nativeEvents: true,
handlesAlerts: true,
javascriptEnabled: true,
enableElementCacheCleanup: true,
cssSelectorsEnabled: true,
usePerProcessProxy: false,
elementScrollBehavior: 0,
enablePersistentHover: false,
pageLoadStrategy: "normal",
ie: {
ensureCleanSession: true,
forceCreateProcessApi: true,
browserCommandLineSwitches: "-private"
}
}
我已经搜索了几天,尝试了不同的 driver.close()、driver.quit()、IE 设置和能力设置的组合,但它们都没有起作用,我真的不知道还要尝试什么。因为 IE 没有关闭,所以几乎不可能在该浏览器中进行测试。经过大约三次测试后,服务器会变慢,我们不得不手动登录并关闭所有窗口。