我正在尝试弄清楚如何使用侦听器,以便在每次测试后自动将报告添加到我的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一起工作,以便可以在监听器上而不是在报告上标记结果,那么该怎么做?
另外,听众之间有什么区别?