Bird
Raised Fist0
Selenium Javatesting~10 mins

TestNG default reports in Selenium Java - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test opens a web page, clicks a button, and verifies the page title. It uses TestNG framework which generates default reports showing test pass or fail status.

Test Code - TestNG
Selenium Java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class SampleTest {
    WebDriver driver;

    @BeforeClass
    public void setup() {
        driver = new ChromeDriver();
        driver.manage().window().maximize();
    }

    @Test
    public void testButtonClickChangesTitle() {
        driver.get("https://example.com");
        WebElement button = driver.findElement(By.id("changeTitleBtn"));
        button.click();
        String expectedTitle = "Title Changed";
        String actualTitle = driver.getTitle();
        Assert.assertEquals(actualTitle, expectedTitle, "Page title should change after button click");
    }

    @AfterClass
    public void teardown() {
        if (driver != null) {
            driver.quit();
        }
    }
}
Execution Trace - 9 Steps
StepActionSystem StateAssertionResult
1Test startsTestNG test suite initialized—PASS
2Browser opens ChromeDriver and maximizes windowChrome browser window is open and maximized—PASS
3Navigates to https://example.comExample.com homepage is loaded—PASS
4Finds button with id 'changeTitleBtn'Button element is located on the page—PASS
5Clicks the buttonPage title changes to 'Title Changed'—PASS
6Gets the page titlePage title is 'Title Changed'Assert that actual title equals 'Title Changed'PASS
7Test method completesTestNG records test as passed—PASS
8Browser quitsBrowser window closed—PASS
9TestNG generates default report showing test passedReport available in test-output folder with test status PASS—PASS
Failure Scenario
Failing Condition: Button with id 'changeTitleBtn' is not found or page title does not change as expected
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify after clicking the button?
AThe page title changes to 'Title Changed'
BThe button becomes disabled
CA new page opens in a new tab
DThe button text changes
Key Result
Always verify UI changes with assertions and rely on TestNG's default reports to quickly identify test pass or fail status.

Practice

(1/5)
1. What is the main purpose of TestNG default reports?
easy
A. To write custom test cases manually
B. To automatically show test results after running tests
C. To compile Java code before testing
D. To create database backups

Solution

  1. Step 1: Understand what TestNG default reports do

    TestNG default reports automatically display the results of tests after execution without extra coding.
  2. Step 2: Compare options with this function

    Only To automatically show test results after running tests matches this description; others describe unrelated tasks.
  3. Final Answer:

    To automatically show test results after running tests -> Option B
  4. Quick Check:

    TestNG default reports = automatic test result display [OK]
Hint: Default reports show results automatically after tests run [OK]
Common Mistakes:
  • Thinking reports require extra code
  • Confusing reports with code compilation
  • Assuming reports manage databases
2. Which file is generated by TestNG by default to show test results?
easy
A. test-output/index.html
B. src/test/java/Test.java
C. pom.xml
D. log.txt

Solution

  1. Step 1: Identify the default report file location

    TestNG generates reports inside the 'test-output' folder, with 'index.html' as the main report file.
  2. Step 2: Check other options for correctness

    Other files are unrelated: source code, build config, or logs.
  3. Final Answer:

    test-output/index.html -> Option A
  4. Quick Check:

    Default report file = test-output/index.html [OK]
Hint: Look inside test-output folder for default reports [OK]
Common Mistakes:
  • Confusing source code files with report files
  • Expecting reports in pom.xml or logs
  • Not checking the test-output directory
3. Given this TestNG test run, what will the default report show if one test fails and two pass?
medium
A. Passed: 2, Failed: 1, Skipped: 0
B. Passed: 3, Failed: 0, Skipped: 0
C. Passed: 1, Failed: 2, Skipped: 0
D. Passed: 0, Failed: 3, Skipped: 0

Solution

  1. Step 1: Analyze the test results given

    There are two tests that passed and one test that failed.
  2. Step 2: Match the counts to the report format

    The report shows counts as Passed: 2, Failed: 1, Skipped: 0.
  3. Final Answer:

    Passed: 2, Failed: 1, Skipped: 0 -> Option A
  4. Quick Check:

    Test counts in report = Passed 2, Failed 1 [OK]
Hint: Count tests passed and failed to match report summary [OK]
Common Mistakes:
  • Mixing passed and failed counts
  • Assuming skipped tests when none exist
  • Misreading the test result numbers
4. You ran TestNG tests but the default report shows no tests executed. What is the likely cause?
medium
A. Java version is outdated
B. TestNG jar file is corrupted
C. Report folder is manually deleted
D. Test methods are missing the @Test annotation

Solution

  1. Step 1: Understand why no tests run

    If test methods lack the @Test annotation, TestNG will not recognize or run them.
  2. Step 2: Evaluate other options

    Corrupted jar or Java version issues usually cause errors, not silent no tests. Deleting report folder does not affect test execution.
  3. Final Answer:

    Test methods are missing the @Test annotation -> Option D
  4. Quick Check:

    No @Test annotation = no tests run [OK]
Hint: Check @Test annotation on test methods first [OK]
Common Mistakes:
  • Assuming report folder deletion stops tests
  • Blaming Java version without error messages
  • Ignoring missing @Test annotations
5. How can you customize the TestNG default report to include screenshots on failure?
hard
A. By disabling default reports and writing logs to console only
B. By editing the test-output/index.html file manually after tests run
C. By adding listeners and embedding screenshots in the report via ITestListener
D. By renaming the test-output folder before running tests

Solution

  1. Step 1: Understand default report customization

    TestNG default reports do not support screenshots by default; customization requires listeners like ITestListener.
  2. Step 2: Evaluate options for adding screenshots

    Adding listeners to capture screenshots on failure and embed them is the correct approach. Manual editing or renaming folders won't add screenshots. Disabling reports removes them entirely.
  3. Final Answer:

    By adding listeners and embedding screenshots in the report via ITestListener -> Option C
  4. Quick Check:

    Use ITestListener to add screenshots [OK]
Hint: Use ITestListener to add screenshots on failure [OK]
Common Mistakes:
  • Trying to edit report files manually
  • Renaming folders expecting new features
  • Disabling reports instead of customizing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard