Extent Reports is a library used to create detailed and visually appealing test reports for Selenium automation tests. It helps track test execution results with logs, screenshots, and charts.
Click to reveal answer
beginner
Which main class is used to create an Extent Report instance in Java?
The main class is <code>ExtentReports</code>. You create an object of this class to start building your report.
Click to reveal answer
intermediate
How do you attach a reporter to ExtentReports?
You create an ExtentHtmlReporter object with the report file path, then attach it to ExtentReports using attachReporter() method.
Click to reveal answer
beginner
What is the purpose of ExtentTest in Extent Reports?
ExtentTest represents a single test in the report. You use it to log test steps, pass/fail status, and add screenshots.
Click to reveal answer
beginner
Which method finalizes and writes the Extent Report to disk?
The flush() method of ExtentReports writes all logged information to the report file. It should be called at the end of the test run.
Click to reveal answer
Which class do you use to create an HTML report file in Extent Reports?
AExtentReports
BExtentTest
CHtmlReporter
DExtentHtmlReporter
✗ Incorrect
ExtentHtmlReporter is used to specify the HTML report file location and format.
What method do you call to save the Extent Report after logging tests?
Aflush()
Bsave()
Cwrite()
Dclose()
✗ Incorrect
flush() writes all the logged test information to the report file.
Which Extent Reports class represents a single test case in the report?
AExtentTest
BExtentReport
CTestLogger
DTestCase
✗ Incorrect
ExtentTest is used to log steps and results for each test case.
Where do you specify the file path for the Extent Report HTML file?
AIn ExtentTest constructor
BIn ExtentHtmlReporter constructor
CIn ExtentReports constructor
DIn flush() method
✗ Incorrect
The ExtentHtmlReporter constructor takes the file path for the HTML report.
What is the first step to set up Extent Reports in a Selenium Java project?
ACreate ExtentTest object
BCall flush() method
CCreate ExtentReports and attach ExtentHtmlReporter
DAdd screenshots
✗ Incorrect
You first create ExtentReports and attach an ExtentHtmlReporter to specify the report file.
Explain the steps to set up Extent Reports in a Selenium Java test project.
Think about initializing the reporter, logging tests, and saving the report.
You got /6 concepts.
Describe the role of ExtentTest and how it is used during test execution.
Focus on how individual tests are recorded in the report.
You got /5 concepts.
Practice
(1/5)
1. What is the primary purpose of using ExtentHtmlReporter in Selenium Java testing?
easy
A. To execute Selenium WebDriver tests
B. To locate web elements on a page
C. To generate an HTML report for test execution results
D. To manage browser windows during tests
Solution
Step 1: Understand the role of ExtentHtmlReporter
ExtentHtmlReporter is used to create a visual HTML report that shows test results clearly.
Step 2: Differentiate from other components
It does not run tests or interact with browsers; it only formats and outputs reports.
Final Answer:
To generate an HTML report for test execution results -> Option C
Quick Check:
ExtentHtmlReporter = HTML report generator [OK]
Hint: ExtentHtmlReporter creates HTML reports, not test execution [OK]
Common Mistakes:
Confusing ExtentHtmlReporter with WebDriver
Thinking it runs tests
Assuming it manages browser actions
2. Which of the following is the correct way to initialize ExtentReports with ExtentHtmlReporter in Java?
easy
A. ExtentReports extent = new ExtentReports(); extent.createReporter("report.html");
B. ExtentHtmlReporter reporter = new ExtentHtmlReporter("report.html"); ExtentReports extent = new ExtentReports(); extent.attachReporter(reporter);
C. ExtentHtmlReporter reporter = new ExtentHtmlReporter(); extent.attachReporter(reporter);
D. ExtentReports extent = new ExtentReports("report.html"); ExtentHtmlReporter reporter = new ExtentHtmlReporter();
Solution
Step 1: Create ExtentHtmlReporter with file path
You must instantiate ExtentHtmlReporter with the report file name or path.
Step 2: Attach reporter to ExtentReports instance
Create ExtentReports object and attach the reporter using attachReporter method.
Final Answer:
ExtentHtmlReporter reporter = new ExtentHtmlReporter("report.html"); ExtentReports extent = new ExtentReports(); extent.attachReporter(reporter); -> Option B
Quick Check:
Initialize reporter with path, then attach to ExtentReports [OK]
Hint: Create reporter with path, then attach to ExtentReports [OK]
Common Mistakes:
Not passing file path to ExtentHtmlReporter constructor
Calling attachReporter before creating ExtentReports
Using non-existent methods like createReporter
3. Given the following code snippet, what will be the output in the Extent Report after execution?
ExtentHtmlReporter reporter = new ExtentHtmlReporter("testReport.html");
ExtentReports extent = new ExtentReports();
extent.attachReporter(reporter);
ExtentTest test = extent.createTest("LoginTest");
test.pass("Login successful");
extent.flush();
medium
A. The report will show a test named 'LoginTest' marked as failed.
B. The report will be empty because flush() is called before creating the test.
C. The code will throw a runtime exception due to missing test initialization.
D. The report will show a test named 'LoginTest' marked as passed with message 'Login successful'.
Solution
Step 1: Analyze test creation and logging
The test 'LoginTest' is created and logged as passed with message 'Login successful'.
Step 2: Understand flush() role
Calling extent.flush() writes the report to the file including all logged tests.
Final Answer:
The report will show a test named 'LoginTest' marked as passed with message 'Login successful'. -> Option D
Quick Check:
createTest + pass + flush = Passed test in report [OK]
Hint: Create test, log pass, then flush to save report [OK]
Common Mistakes:
Thinking flush() clears tests
Assuming test is failed without fail() call
Believing report is empty without flush()
4. Identify the error in the following Extent Reports setup code:
ExtentHtmlReporter reporter = new ExtentHtmlReporter();
ExtentReports extent = new ExtentReports();
extent.attachReporter(reporter);
ExtentTest test = extent.createTest("SearchTest");
test.pass("Search executed");
extent.flush();
medium
A. ExtentHtmlReporter must be initialized with a file path in its constructor.
B. ExtentReports cannot attach more than one reporter.
C. createTest() method requires two parameters.
D. flush() should be called before creating tests.
Solution
Step 1: Check ExtentHtmlReporter initialization
ExtentHtmlReporter requires a file path string in its constructor to specify report output location.
Step 2: Verify other method usages
attachReporter, createTest, and flush are used correctly; no multiple reporter restriction or parameter issues.
Final Answer:
ExtentHtmlReporter must be initialized with a file path in its constructor. -> Option A
Quick Check:
Reporter needs file path on creation [OK]
Hint: Always give file path when creating ExtentHtmlReporter [OK]
Common Mistakes:
Omitting file path in ExtentHtmlReporter constructor
Misunderstanding createTest parameters
Calling flush too early
5. You want to create an Extent Report that logs multiple tests and marks one as failed with a custom error message. Which code snippet correctly sets up the report and logs these results?
hard
A. ExtentHtmlReporter reporter = new ExtentHtmlReporter("multiTestReport.html");
ExtentReports extent = new ExtentReports();
extent.attachReporter(reporter);
ExtentTest test1 = extent.createTest("Test1");
test1.pass("Test1 passed");
ExtentTest test2 = extent.createTest("Test2");
test2.fail("Test2 failed due to timeout");
extent.flush();
B. ExtentReports extent = new ExtentReports("multiTestReport.html");
ExtentHtmlReporter reporter = new ExtentHtmlReporter();
extent.createTest("Test1").pass("Test1 passed");
extent.createTest("Test2").fail("Test2 failed due to timeout");
extent.flush();
C. ExtentHtmlReporter reporter = new ExtentHtmlReporter();
ExtentReports extent = new ExtentReports();
extent.attachReporter(reporter);
extent.createTest("Test1").pass("Test1 passed");
extent.createTest("Test2").fail("Test2 failed due to timeout");
extent.flush();
D. ExtentHtmlReporter reporter = new ExtentHtmlReporter();
ExtentReports extent = new ExtentReports();
extent.attachReporter(reporter);
ExtentTest test1 = extent.createTest("Test1");
test1.fail("Test1 failed");
ExtentTest test2 = extent.createTest("Test2");
test2.pass("Test2 passed");
extent.flush();
Solution
Step 1: Initialize ExtentHtmlReporter with file path
Instantiate ExtentHtmlReporter with the path to the report file, create an ExtentReports instance, and attach the reporter.
Step 2: Create multiple tests and log statuses
Create ExtentTest instances with createTest(), log one with pass("message") and one with fail("custom error message"), then flush().
Final Answer:
ExtentHtmlReporter reporter = new ExtentHtmlReporter("multiTestReport.html"); ExtentReports extent = new ExtentReports(); extent.attachReporter(reporter); ExtentTest test1 = extent.createTest("Test1"); test1.pass("Test1 passed"); ExtentTest test2 = extent.createTest("Test2"); test2.fail("Test2 failed due to timeout"); extent.flush(); -> Option A
Quick Check:
Reporter with path + attach + pass/fail + flush [OK]
Hint: Attach reporter with path, create tests, log pass/fail, then flush [OK]
Common Mistakes:
Not passing file path to ExtentHtmlReporter
Swapping pass and fail calls
Calling flush before logging tests
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.