2

当我尝试生成范围报告时出现此错误。我已经用reports.endTest(test); 关闭了报告。

这是我的代码:

@BeforeMethod public void beforeMethod(Method method) { test = reports.startTest((this.getClass().getSimpleName() + "::" + method.getName()), method.getName()); test.assignAuthor("罗伊"); test.assignCategory("烟雾测试"); }

@Test(priority = 0)
public static void initialSetup() throws InterruptedException, IOException {
    System.setProperty("webdriver.ie.driver", "\\IEDriverServer.exe");
    b = new InternetExplorerDriver();

    b.get("https://something.com");
    Alert alert = b.switchTo().alert();

    String _user_name = "kirstie";
    String _password = "88525";
    alert.authenticateUsing(new UserAndPassword(_user_name, _password));
    b.switchTo().defaultContent();

}

@Test(priority = 1, enabled = true)
public static void secondClient() throws Exception {

    b.findElement(By.xpath("//*[@class='main-sidebar open']")).click();

    b.findElement(By.xpath("//*[@class='sub-menu group open']/li")).click();

}

@AfterMethod
public void afterMethod(ITestResult iTestResult) throws IOException {

    if (iTestResult.getStatus() == ITestResult.FAILURE) {
        String screenshotPath = GetScreenshot.capture(driver, "screenShots");
        test.log(LogStatus.FAIL, "Screenshot", test.addScreenCapture(screenshotPath));
        test.log(LogStatus.FAIL, "Test Case Failed is " + iTestResult.getName());
        test.log(LogStatus.FAIL, "Test Case Failed is " + iTestResult.getThrowable());
    } else if (iTestResult.getStatus() == ITestResult.SKIP) {
        test.log(LogStatus.SKIP, "Test Case Skipped is " + iTestResult.getName());
    }
    reports.endTest(test);
}

@AfterSuite
public void afterSuite() {

    reports.flush();
    reports.close();
}
4

2 回答 2

1

我只是复制并粘贴我使用我的项目的模板。希望您的问题将通过使用此解决

    WebDriver driver;
    ExtentHtmlReporter htmlReporter;
    ExtentReports extent;
    ExtentTest test;



            @BeforeTest
            public void setUp() {
                // where we need to generate the report

                htmlReporter = new ExtentHtmlReporter("Your report Path");
                extent = new ExtentReports();
                extent.attachReporter(htmlReporter);
                // Set our document title, theme etc..
                htmlReporter.config().setDocumentTitle("Rentalhomes");
                htmlReporter.config().setReportName("Rentalhomes Production Testing");
                htmlReporter.config().setTestViewChartLocation(ChartLocation.TOP);
                htmlReporter.config().setTheme(Theme.DARK);


                            }
           }
            @Test
            public void HomepageLogo() throws Exception {
                test = extent.createTest("rentalhomesHomePage");
                //Your Test

            }

          @AfterMethod
          public void setTestResult(ITestResult result) throws IOException {


              if (result.getStatus() == ITestResult.FAILURE) {
                  test.log(Status.FAIL, result.getName());
                  test.log(Status.FAIL,result.getThrowable());
                  //test.fail("Screen Shot : " + test.addScreenCaptureFromPath(screenShot));
              } else if (result.getStatus() == ITestResult.SUCCESS) {
                  test.log(Status.PASS, result.getName());
                  //test.pass("Screen Shot : " + test.addScreenCaptureFromPath(screenShot));
              } else if (result.getStatus() == ITestResult.SKIP) {
                  test.skip("Test Case : " + result.getName() + " has been skipped");
              }

              extent.flush();
          driver.close();

            }
        }
于 2017-11-24T08:55:57.630 回答
0

删除 //extent.startTest("TestCaseName", "Description"); 从你的代码

于 2018-08-28T10:32:42.390 回答