Surefire报告未生成脚本错误

时间:2013-08-02 15:18:37

标签: maven selenium surefire

我有几个简单的测试,看起来像这样。

public class My1Test extends AutoBaseFunctions{

@Test
public void test1(){

    startDriver(STARTPAGE,DRIVER2USE);
    schoolLogin("XXX", "XXX");

    toolbarNav("toolsSingle","Manage Users");

    getElmObject("input[type='checkbox'][name='includeUsersHiddenFromDirectory']",loctype.CSS).click();
    getElmObject("Searchxx",loctype.LINKTEXT).click();

    driver.quit();
    //driver.close();
}

}

我遇到的问题是:我在搜索按钮上执行findElement时故意导致NoSuchElement异常。当我运行mvn surefire-report:report命令时,输出在此停止

surefire report output

直到我手动关闭已打开的窗口 - 然后才完成生成报告。

据我所知,当脚本出错时,它会死掉并且永远不会到达driver.quit线。但是,如果我将它放在try / catch块中,报告会将测试显示为已通过,并且不会报告错误详细信息。我也尝试将其作为@Suite测试的一部分并使用@ After / @ AfterClass,但这也不会关闭驱动程序窗口。

我做错了什么?如何在遇到错误后生成报告,而不必“出现”以手动关闭打开的窗口?

1 个答案:

答案 0 :(得分:0)

你需要把它放在try / catch和catch块中

    try{

    }catch(Exception e){
     Assert.fail(e.getMessage());
    }finally{
              // CLOSE ANY OPEN RESOURCES HERE !!!!
    }

如果您有任何开放资源,请不要忘记在finally块中关闭它们。