我需要使用无头和无头来运行测试。对于非无头电脑,我想在浏览器中查看实际结果,因此我选择在每个测试用例之后关闭Terminate驱动程序,并在每个测试套件之后关闭Terminate驱动程序。无头运行时,我需要再次检查它们,以便在执行后在后台删除chromedriver.exe。
我需要创建具有强制“在每个测试用例之后终止驱动程序”的代码的测试用例,而不是在“项目”设置中切换复选框。
答案 0 :(得分:0)
使用DriverFactory
类来检查当前测试是否正在无头驱动程序中执行,然后将其放在可以在测试用例或测试套件之后执行的测试侦听器中:
class TestListener {
@AfterTestCase
def afterTestcase(TestCaseContext testCaseContext) {
if (DriverFactory.getExecutedBrowser().getName()!='HEADLESS_DRIVER'){
WebUI.closeBrowser()
}
}
@AfterTestSuite
def afterTestSuite(TestCaseContext testCaseContext){
if (DriverFactory.getExecutedBrowser().getName()=='CHROME_DRIVER'){
WebUI.closeBrowser()
}
}
}
有时候,您有不同的驱动程序挂在不同的测试上。如果您只是想杀死不断挂起的进程,请使用
String cmd = "taskkill /F chromedriver.exe"
Runtime.getRuntime().exec(cmd)