如何在 qaf bdd2 中退出驱动程序
How to quit driver in qaf bdd2
我正在使用 qaf bdd2 测试自动化框架。我有一个要求,我需要 运行 特定端口中的测试用例,所以我在下面实现为 qaf listeners
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
现在的问题是,当我 运行 任何多个场景时,我希望浏览器在场景开始时打开并在场景结束时关闭,它应该以相同的方式继续,而 运行 宁其他场景。在特定端口实现 运行 chrome 后,浏览器打开但根本不关闭。当新场景 运行s 时,浏览器打开一个新选项卡并 运行 在同一选项卡中进行我不想 运行 的测试。测试完成后浏览器没有自动关闭我需要手动关闭它。
问题:如何实现driver.quit()以及qaf中每个场景都需要在什么地方申请关闭浏览器?
您可以使用 selenium.singletone
framework property 设置驱动程序卸载行为。要为每个场景关闭浏览器,您需要设置它 methods
selenium.singletone=methods
编辑:
如果driver Quit 没有杀掉浏览器,需要强制杀掉浏览器,可以在command listener 后有driver。例如,
public class KillDriverListener extends QAFListenerAdapter {
@Override
public void afterCommand(QAFExtendedWebDriver driver, CommandTracker commandTracker) {
if (DriverCommand.QUIT.equalsIgnoreCase(commandTracker.getCommand())) {
//kill driver
}
}
}
需要时使用 qaf.listeners
属性.
注册侦听器
我找到了答案。我通过使用 taskkill 强制 chrome 驱动程序并在完成时使用 ItestListeners 调用它。
代码:
taskkill /f /im chromedriver.exe
我正在使用 qaf bdd2 测试自动化框架。我有一个要求,我需要 运行 特定端口中的测试用例,所以我在下面实现为 qaf listeners
options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222");
现在的问题是,当我 运行 任何多个场景时,我希望浏览器在场景开始时打开并在场景结束时关闭,它应该以相同的方式继续,而 运行 宁其他场景。在特定端口实现 运行 chrome 后,浏览器打开但根本不关闭。当新场景 运行s 时,浏览器打开一个新选项卡并 运行 在同一选项卡中进行我不想 运行 的测试。测试完成后浏览器没有自动关闭我需要手动关闭它。
问题:如何实现driver.quit()以及qaf中每个场景都需要在什么地方申请关闭浏览器?
您可以使用 selenium.singletone
framework property 设置驱动程序卸载行为。要为每个场景关闭浏览器,您需要设置它 methods
selenium.singletone=methods
编辑:
如果driver Quit 没有杀掉浏览器,需要强制杀掉浏览器,可以在command listener 后有driver。例如,
public class KillDriverListener extends QAFListenerAdapter {
@Override
public void afterCommand(QAFExtendedWebDriver driver, CommandTracker commandTracker) {
if (DriverCommand.QUIT.equalsIgnoreCase(commandTracker.getCommand())) {
//kill driver
}
}
}
需要时使用 qaf.listeners
属性.
我找到了答案。我通过使用 taskkill 强制 chrome 驱动程序并在完成时使用 ItestListeners 调用它。
代码: taskkill /f /im chromedriver.exe