如何在范围报告中使用TestNG侦听器4

时间:2019-06-12 21:34:28

标签: java selenium extentreports

我正在尝试弄清楚如何使用侦听器,以便在每次测试后自动将报告添加到我的testo中, 我的结构如下所示: structure 在红色的地方我要添加监听器,

我的extenetmanager类如下:

public class ExtentManager {
public  ExtentReports extent;
public  ExtentTest test;
public  ExtentHtmlReporter htmlReporter;
public  String reportDate;
public  String filePath;

public  void init() {
    reportDate = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new Date());    
    filePath = ".\\reports\\OrangeHRM Report "+ reportDate;
    htmlReporter = new ExtentHtmlReporter(filePath+"/report.html");
    new File(filePath).mkdirs();

    extent = new ExtentReports();                    
    extent.attachReporter(htmlReporter);            

    htmlReporter.config().setDocumentTitle("automation report on OrangeHRM");
    htmlReporter.config().setReportName("OrangeHRM Test");               
    htmlReporter.config().setEncoding("windows-1255");                      
}

public void create_test(String testName, String testDescription)
{
    test = extent.createTest (testName, testDescription);
}

public String CaptureScreen() throws AWTException, IOException
{
    String picDate = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new Date());
    String imagePath = filePath+"/pic"+picDate+".jpg";
    Robot robot = new Robot();
    BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
    ImageIO.write(screenShot, "jpg", new File(imagePath));
    return imagePath;
}

}

,然后在BaseTest类中调用了init()方法;要启动extentReports,则MainRunner扩展了BaseTest,并在每个tese上标记了test.pass或test.fail-使用IF。 我想避免使用监听器,而是使用监听器,以便eacg test与assert一起工作,以便可以在监听器上而不是在报告上标记结果,那么该怎么做?

另外,听众之间有什么区别?

0 个答案:

没有答案