是否有等效于“在项目>设置>执行中存在每个测试用例/测试套件之后终止驱动程序的代码?

时间:2019-05-02 02:31:15

标签: headless katalon-studio

我需要使用无头和无头来运行测试。对于非无头电脑,我想在浏览器中查看实际结果,因此我选择在每个测试用例之后关闭Terminate驱动程序,并在每个测试套件之后关闭Terminate驱动程序。无头运行时,我需要再次检查它们,以便在执行后在后台删除chromedriver.exe。

我需要创建具有强制“在每个测试用例之后终止驱动程序”的代码的测试用例,而不是在“项目”设置中切换复选框。

1 个答案:

答案 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)
相关问题