当前位置: 首页 > 面试题库 >

selenium测试后,Internet Explorer 11无法关闭

许俊风
2023-03-14
问题内容

我们在运行Selenium测试的Google Cloud上安装了多个Windows Server
2012计算机。他们在NodeJS中与Mocha一起运行。Chrome和Firefox可以按预期启动,运行和关闭,但IE
11不会关闭。结果,selenium服务器停止响应,并且IE中的所有测试开始失败。

这是我每个钩子前后的代码

// 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并未关闭,因此实际上无法在该浏览器中进行测试。经过约三项测试后,服务器速度变慢,我们必须手动登录并关闭所有窗口。


问题答案:

如果我们无法通过webdriver命令关闭IE,并且此时此刻它变得停滞不前,那么为什么我们不能从语言中寻求帮助,也许我是Java来关闭它。

  try {
Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe");
} catch (IOException e) {
e.printStackTrace();
}

知道通过驱动程序命令关闭浏览器很好,但是直到它能起作用,我希望我们可以在上面尝试。看到这个

谢谢,穆拉利



 类似资料:
  • 问题内容: Firefox可以运行,但是在测试执行完毕后,Firefox仍然可以运行。 这是在带有Firefox 3.6的Debian Linux上。 问题答案: 解决方案是将Selenium指向firefox-bin文件而不是firefox文件,如果它位于/ usr / bin / firefox,则默认情况下可以使用它。

  • 下面是我编写测试的方法: 具有私有方法和运行所有其他私有方法的单个公共方法的类。 我在其他类中有一些通用方法,其中一个名为navigation.php。在这个类中,我有所有的方法,这些方法使我能够进入应用程序的特定点。 我所要做的就是,根据一个条件,正确地关闭(或退出,或处置,或任何你想要的)我的测试,而不返回一个错误。我尝试了quit()、close()和dispose(),但可能我用错了。

  • 我正在研究一套Selenium WebDriver(不是Selenium RC,也不使用Selenium-Server)测试,这些测试通过对mstest的命令行调用执行。我将它们分解为我们计划测试的每个浏览器的测试类(目前是Chrome、Firefox和IE9),每个测试类都有一个启动方法,它登录到测试中的系统,然后执行请求的测试,还有一个拆分方法,它使用webdriver.quit()关闭浏览器

  • 顺便说一句,我用本地的测试了上面的代码,结果一切都运行得很好-在任务完成后立即退出。 任何帮助或想法都是感激的。

  • 我们已经在Chrome和Firefox上成功地使用了Selenium测试,现在我们也想在Windows 10虚拟机上用Internet Explorer开始测试。现在测试已经开始,Internet Explorer打开并转到我们要测试的页面。但是任何与页面的交互都不能通过测试,它找不到任何元素。错误通常是“元素不能被XPath找到”。同样的测试在Chrome和Firefox在同一台机器上运行良好。

  • 我一直在按照本教程学习如何使用Selenium,并且刚刚成功运行了以下代码: 我如何确保无头Firefox不再运行?我运行了这段代码两次,现在两首歌曲正在相互播放。感谢任何帮助,我只是想确保没有任何东西在后台运行!