Selenium Java如何在失败的测试步骤中保持浏览器窗口打开

Selenium Java如何在失败的测试步骤中保持浏览器窗口打开,java,google-chrome,selenium,Java,Google Chrome,Selenium,上午(除非是下午/晚上) 我刚刚开始在Eclipse上使用Selenium,并正在创建我的第一个自动化测试用例。有没有办法阻止浏览器窗口在出现故障时关闭?目前运行测试并在不知道确切原因的情况下失败是非常令人沮丧的。我知道我的测试可以设置为对失败步骤进行截屏。但是,如果我可以让浏览器保持打开状态,这样我就可以调试失败的步骤,因为此时任何失败都将是由于测试错误,而不是产品故障。我正在使用Java创建我的测试脚本,并且我的初始测试是为Chrome编写的,但是一种非特定于浏览器的方法是最好的,因为最终我

上午(除非是下午/晚上)

我刚刚开始在Eclipse上使用Selenium,并正在创建我的第一个自动化测试用例。有没有办法阻止浏览器窗口在出现故障时关闭?目前运行测试并在不知道确切原因的情况下失败是非常令人沮丧的。我知道我的测试可以设置为对失败步骤进行截屏。但是,如果我可以让浏览器保持打开状态,这样我就可以调试失败的步骤,因为此时任何失败都将是由于测试错误,而不是产品故障。我正在使用Java创建我的测试脚本,并且我的初始测试是为Chrome编写的,但是一种非特定于浏览器的方法是最好的,因为最终我需要在所有可用的浏览器上运行这些测试

谢谢你的支持


Richard

您是否尝试不将
driver.quit()
选项作为最后一个命令调用

浏览器将等待您手动关闭它。

使用异常处理(try、catch和throw)来处理错误。运行脚本时,测试用例(或)事件失败,它将忽略错误并持续运行。如果要捕获错误并停止selenium脚本,请使用以下示例

try{
      driver.findElement(By.id("someid")).click();
   }
   catch(NoSuchElementException e)
   {
      System.out.println(e.getMessage());
      driver.close();
      driver.quit();
   }

据我所知。您希望在脚本失败的页面上停止。为此,我有以下事项:

  • 注释您使用的
    driver.quit()
    driver.close()
  • 如果您使用的是
    请尝试
    捕获
    块,以获取预期脚本失败的代码,并在
    捕获
    块中截图。然后,您必须删除
    try-catch
    块,因为它正在处理预期失败的异常,并进一步继续执行代码

  • 在调试模式下运行脚本并分析事实


  • 这与OP的要求相反。他不想在异常情况下关闭驱动程序。