嗨,我试图通过范围报告创建报告;代码没有错误并且运行成功,但没有生成html报告。以下任何人都可以帮助我的代码 -
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);
}
}
在测试方法结束时附加extent.flush();
,将所有测试日志写入报告文件。
查看文档:http://extentreports.relevantcodes.com/java/#start-end-tests`
我认为extent.flush();
在最后失踪了。
需要调用flush()和close()以使extent对象将更改写入文件。必须在Test结束之前调用close(),因为它会关闭输出流
在@AfterMethod方法中调用flush(),在@AfterSuite方法中调用close()
@AfterMethod
public void afterMethod() {
extent.flush();
}
@AfterSuite
public void afterSuiteMethod() {
extent.close();
}
参考文献: - ExtentReports Examples for Java
在这里,只需复制粘贴项目中的工作代码即可。
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();
}
}
请试试这个:
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();
}
}
最后添加extent.flush()
。
我在生成Extent报告时遇到了同样的问题。以下解决方案对我有用。请在最后添加这些命令:extent.EndTest(test); extent.Flush();
确保从NuGet Packages - ExtentReports 2.41.0添加此版本
如果在添加extent.flush()之后它仍然无法工作,请尝试在pom.xml中添加以下依赖项
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.8.11.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.0.4</version>
</dependency>