当我运行测试类中的所有测试用例时,我只得到一个测试用例结果,另外两个没有显示在范围报告中。如何在一个报告中获得所有的测试用例结果?
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import org.junit.jupiter.api.*;
import org.openqa.selenium.WebDriver;
import pl.me.automation.config.WebDriverType;
import pl.me.automation.page.ContactPage;
import pl.me.automation.page.HomePage;
import pl.me.automation.utils.TestDataReader;
import static org.junit.jupiter.api.Assertions.assertTrue;
我有一个测试类ContactPageTest:
public class ContactPageTest extends TestDataReader {
private WebDriver webDriver;
private HomePage homePage;
private ExtentHtmlReporter reporter;
private ExtentReports reports;
@beforeach和@AfterEach函数可能是我只能获得最新执行的测试结果的原因吗?我尝试为所有测试用例创建基类@BeforeMethod@AfterMethod@BeforeTest和@AfterTest,但也不起作用。
@BeforeEach
public void init() {
webDriver = WebDriverType.CHROME.create();
webDriver.get("https://www.store.com");
homePage = new HomePage(webDriver);
homePage.clickCookie();
reporter = new ExtentHtmlReporter("src//main//resources//reports//index.html");
reports = new ExtentReports();
reports.attachReporter(reporter);
}
@AfterEach
public void destroy() {
webDriver.close();
reporter.flush();
reports.flush();
}
我想在一个 raport 中显示三个测试用例:
@Test
public void shouldFillInAndSendForm() {
reports.createTest("ContactPageTest - Fill in and send form");
ContactPage contactPage = homePage.clickContact();
contactPage.enterUserName(contact.getContactPageEnterUserName());
contactPage.enterUserLastName(contact.getContactPageEnterUserLastName());
contactPage.selectMessageSubject(contact.getContactPageSelectMessageSubject());
contactPage.enterEmailAddress(contact.getContactPageEnterEmailAddress());
contactPage.enterMessage(contact.getContactPageSelectMessageSubject());
contactPage.clickSendMessageButton();
assertTrue(contactPage.isContactMessageDisplayed());
}
@Test
public void shouldSendEmptyForm() {
reports.createTest("ContactPageTest - Send Empty Form");
ContactPage contactPage = homePage.clickContact();
contactPage.clickSendMessageButton();
assertTrue(contactPage.isEmailValidationErrorDisplayed());
assertTrue(contactPage.isNameValidationError());
assertTrue(contactPage.isMessageValidationError());
}
@Test
public void shouldSendFormWithIncorrectEmail() {
reports.createTest("ContactPageTest - Send Form With Incorrect Email");
ContactPage contactPage = homePage.clickContact();
contactPage.enterUserName(contact.getContactPageEnterUserName());
contactPage.enterUserLastName(contact.getContactPageEnterUserLastName());
contactPage.selectMessageSubject(contact.getContactPageSelectMessageSubject());
contactPage.enterEmailAddress(contact.getContactPageEnterIncorrectEmailAddress());
contactPage.enterMessage(contact.getContactPageEnterMessage());
contactPage.clickSendMessageButton();
assertTrue(contactPage.isEmailValidationErrorDisplayed());
}
}
这就是我解决这个问题的方法。我加了@TestInstance(生命周期。每类)
@TestInstance(Lifecycle.PER_CLASS)
public class ContactPageTest extends Forms {
private WebDriver webDriver;
private HomePage homePage;
private ExtentHtmlReporter reporter;
private ExtentReports reports;
还有than @BeforeAll,@BeforeEach @AfterEach,@AfterAll批注
@BeforeEach
public void init() {
webDriver = WebDriverType.CHROME.create();
webDriver.get("https://www.store.com");
homePage = new HomePage(webDriver);
homePage.clickCookie();
}
@BeforeAll
public void TearUpReporter(){
reporter = new ExtentHtmlReporter("src//main//resources//reports//index.html");
reports = new ExtentReports();
reports.attachReporter(reporter);
}
@AfterEach
public void destroy() {
webDriver.quit();
}
@AfterAll
public void tearDownReporter(){
reporter.flush();
reports.flush();
}
我试图用Jasmine为Angularjs编写单元测试。这是我的控制器: 和测试 测试失败,即使我试图测试期望(true). toBe(true); 茉莉花,因果报应,棱角分明的嘲弄都在我的索引里。jasmine调试页面中的html,还有测试脚本。 我发现如果删除beforeach()块,expect(true)。托比(真的)通过了。 下面是一个错误:
22.13.7.测试报告 测试任务默认生成以下结果. 一份HTML测试报告 一个与Ant的JUnit测试报告任务兼容的XML.这个格式与许多其他服务兼容,如CI serves 结果是有效的二进制,测试任务会从这些二进制结果生成其他结果。 有一个独立的TestReport任务类型会根据一些Test任务实例生成的二进制源码生成一个HTML报告.使用这种测试类型,需要定义一个destinationDir
当运行单元测试的时候,Gradle 会输出一份 HTML 格式的报告以方便查看结果。Android plugin 则将所有连接设备的测试报告都合并到一个 HTML 格式的报告文件中。所有测试结果都以 XML 文件形式保存到 build/reports/androidTests/ 中(类似于 JUnit 的运行结果保存在 build/reports/tests 中)。可以自定义路径: android
5.4 测试报告 当运行单元测试的时候,Gradle 会生成一份 HTML 报告以便于查看测试结果。 Android plugins 在这个基础上扩展了 HTML 报告,以合并所有已连接设备上的测试结果。 5.4.1 单工程报告 在运行测试的时候工程会自动的生成报告,默认位置是: build/reports/androidTests 这和 jUnit 报告的位置 build/reports/tes
我尝试在我的应用程序模块中的代码的AndroidKotlin应用程序的声纳Qube中显示测试覆盖范围。我可以生成雅各的覆盖结果并显示声纳Qube分度仪,但问题是测试覆盖范围未显示在声纳Qube中: https://imgur.com/a/xOjxLl1 在我的项目的build.gradle中,我有: 在我的身体里。我的应用程序模块的gradle 我生成我的Jacoco报告: 并使用:生成我的son
问题内容: 该命令仅覆盖一个目录中的文件。 我想要整个项目,这意味着测试应覆盖dir中的所有文件以及该dir下的所有千岁树dir 。 这样做的命令是什么? 问题答案: 这应该在当前目录及其所有子目录中运行所有测试: 这应该针对给定的特定目录运行所有测试: 这应该以前缀为的导入路径运行所有测试: 这应该运行所有带有前缀的测试导入路径: 这应该在$ GOPATH中运行所有测试: