2016-08-16 5 views
1

안녕하세요, 범위 보고서를 통해 보고서를 만들려고합니다. 코드는 오류를주지 않고 성공적으로 실행되지만 html 보고서는 생성되지 않습니다. http://extentreports.relevantcodes.com/java/#start-end-tests`범위 보고서 생성 HTML 없음

내가 extent.flush();가 마지막에없는 생각 :

package ca.automation.com; 

import org.testng.annotations.Test; 
import com.relevantcodes.extentreports.ExtentReports; 
import com.relevantcodes.extentreports.ExtentTest; 
import org.testng.annotations.BeforeTest; 
import org.junit.Assert; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 
import org.testng.annotations.AfterClass; 

public class ExtentReport { 

    WebDriver driver; 
    ExtentReports extent; 
    ExtentTest test; 

    @BeforeTest 
    public void startReport(){ 
     extent = new ExtentReports("C:\\Report.html", true); 
    } 

    @Test 
    public void installapp() { 
     test = extent.startTest("installapp"); 
     System.setProperty("webdriver.ie.driver", "C:\\Anuj\\Downloads\\IEDriverServer_Win32_2.46.0\\IEDriverServer.exe"); 
     driver = new InternetExplorerDriver(); 
     driver.manage().window().maximize(); 
     driver.get("https://www.tripadvisor.com/"); 
     String Title = driver.getTitle(); 
     Assert.assertTrue(Title.contains("Trip")); 
     extent.endTest(test); 
    } 
} 

답변

3

확인 문서 - 사람이 아래에 도움을 주시기 바랍니다 수있는 것은 내 코드입니다.

+0

감사하지만 extent.flush을() 도움이되지 않았다 추가; 아무런 오류 코드도 실행되지 않았지만 html이 생성되지 않았습니다. –

1

이제 프로젝트에 작업 코드를 복사하여 복사하십시오.

import org.testng.annotations.Test; 

import com.dell.patientregister.mobilewallet.test.PatientRegister_SmokeTest; 
import com.relevantcodes.extentreports.ExtentReports; 
import org.testng.annotations.BeforeTest; 
import org.junit.Assert; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

public class ExtentReport { 

    WebDriver driver; 
    ExtentReports extent; 

    @Test 
    public void installapp() { 

ExtentReports extent = ExtentReports.get(ExtentReport.class); 

     extent.init("myreport.html", true); 
     extent.startTest(" Install App"); 

     System.setProperty("webdriver.ie.driver", "C:\\Anuj\\Downloads\\IEDriverServer_Win32_2.46.0\\IEDriverServer.exe"); 
     driver = new InternetExplorerDriver(); 
     driver.manage().window().maximize(); 
     driver.get("https://www.tripadvisor.com/"); 
     String Title = driver.getTitle(); 
     Assert.assertTrue(Title.contains("Trip")); 
     extent.endTest(); 
    } 
} 
+0

감사합니다 Rajan; 하지만 코드 아래에 붙여 넣기 복사에 "get 메소드가 범위 보고서에 정의되지 않았습니다."라는 오류 메시지가 나타납니다. extentreports-java-2.41.1.jar을 사용하고 있습니다. –

2

변경 사항을 파일에 기록하려면 flush() 및 close()를 호출해야합니다. 이 출력 스트림을 @AfterSuite 방법에 @AfterMethod 방법 및 닫기()에서


통화 플러시() 종료로 바로 시험이 끝나기 전에 수행해야합니다) (종료 전화

@AfterMethod 
public void afterMethod() { 
    extent.flush(); 
} 

@AfterSuite 
public void afterSuiteMethod() { 
    extent.close(); 
} 

참조 : - ExtentReports Examples for Java

4

테스트 방법 끝에 모든 테스트 로그를 보고서 파일에 기록합니다.

1

이 시도하십시오

import org.testng.annotations.Test; 

import com.dell.patientregister.mobilewallet.test.PatientRegister_SmokeTest; 
import com.relevantcodes.extentreports.ExtentReports; 
import org.testng.annotations.BeforeTest; 
import org.junit.Assert; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

public class ExtentReport { 

WebDriver driver; 
ExtentReports extent; 
@Test 
public void installapp() { 

ExtentReports extent = ExtentReports.get(ExtentReport.class); 
extent.init("myreport.html", true); 
test = extent.startTest(" Install App"); 
System.setProperty("webdriver.ie.driver","C:\\Anuj\\Downloads\\IEDriverServer_Win32_2.46.0\\IEDriverServer.exe"); 
    driver = new InternetExplorerDriver(); 
    driver.manage().window().maximize(); 
    driver.get("https://www.tripadvisor.com/"); 
    String Title = driver.getTitle(); 
    Assert.assertTrue(Title.contains("Trip")); 
    test.Log(LogStatus.Pass, "Login Successful"); 
    extent.endTest(test); 
    extent.flush(); 
    extent.close(); 
} 
} 
1

마지막에 extent.flush()를 추가합니다.

0

확장 보고서를 생성 할 때도 동일한 문제가있었습니다. 다음 해결책은 나를 위해 일했습니다. 끝 부분에 다음 명령을 추가하십시오 : extent.EndTest (test); extent.Flush();

당신이 NuGet 패키지에서이 버전을 추가해야합니다 - ExtentReports 2.41.0