Bird
Raised Fist0
Selenium Javatesting~8 mins

TestNG default reports in Selenium Java - Framework Patterns

Choose your learning style10 modes available
Framework Mode - TestNG default reports
Folder Structure
src/
 └── test/
      └── java/
           └── com/
                └── example/
                     ├── pages/
                     │    └── LoginPage.java
                     ├── tests/
                     │    └── LoginTest.java
                     ├── utils/
                     │    └── WebDriverFactory.java
                     └── config/
                          └── TestConfig.java

test-output/  <-- Generated by TestNG after test run, contains default reports
Test Framework Layers
  • Driver Layer: Manages browser setup and teardown (e.g., WebDriverFactory.java).
  • Page Objects: Encapsulate UI elements and actions (e.g., LoginPage.java).
  • Test Layer: Contains TestNG test classes with @Test methods (e.g., LoginTest.java).
  • Utilities: Helper classes for common functions (e.g., waits, logging).
  • Configuration: Holds environment settings and test parameters (e.g., TestConfig.java).
Configuration Patterns
  • testng.xml: Defines test suites, groups, parameters like browser and environment.
  • Property Files: Store URLs, credentials, and environment-specific data.
  • System Properties: Override config via command line for CI flexibility.
  • WebDriver Setup: Use factory pattern to select browser based on config.
Test Reporting and CI/CD Integration
  • TestNG Default Reports: Generated automatically in test-output/ folder after test run.
  • Includes index.html with summary of passed, failed, skipped tests.
  • Reports show test method details, execution time, and stack traces for failures.
  • Integrate with CI tools (Jenkins, GitHub Actions) to archive and display reports.
  • Use testng.xml listeners to extend reporting if needed.
Best Practices for TestNG Default Reports
  1. Keep tests independent to get clear pass/fail results in reports.
  2. Use meaningful test method names for easy understanding in reports.
  3. Configure testng.xml to organize tests logically for better report grouping.
  4. Regularly clean test-output/ folder to avoid stale report data.
  5. Use listeners to capture screenshots on failure and link them in reports.
Self Check

Where in this folder structure would you add a new page object class for the "Dashboard" page?

Key Result
TestNG default reports are auto-generated HTML summaries in the test-output folder showing test results after execution.

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