What is the purpose of generating an HTML report in Selenium testing?
An HTML report provides a clear, visual summary of test results, showing which tests passed or failed, making it easier to understand and share the outcomes.
Click to reveal answer
beginner
Name a popular Python library used to generate HTML reports for Selenium tests.
The pytest-html plugin is popular for generating HTML reports in Python Selenium tests.
Click to reveal answer
intermediate
What key information should an HTML test report include?
An HTML test report should include test names, status (pass/fail), execution time, error messages if any, and screenshots for failed tests.
Click to reveal answer
intermediate
How can you capture a screenshot on test failure in Selenium Python to include in an HTML report?
Use Selenium's driver.save_screenshot('path.png') method inside a test failure handler to save the screenshot, then link it in the HTML report.
Click to reveal answer
beginner
Why is it important to use descriptive test names and clear assertions when generating HTML reports?
Descriptive test names and clear assertions help quickly identify what each test checks and why it failed or passed, making the report easier to understand.
Click to reveal answer
Which Python tool is commonly used to generate HTML reports for Selenium tests?
Apytest-html
Bunittest-html
Cselenium-report
Dhtmltest
✗ Incorrect
pytest-html is a widely used plugin to generate HTML reports for tests run with pytest, including Selenium tests.
What should you include in an HTML report for failed Selenium tests?
ATest execution time only
BOnly test names
CBrowser version only
DScreenshots and error messages
✗ Incorrect
Screenshots and error messages help diagnose why a test failed and are essential for useful HTML reports.
How do you save a screenshot in Selenium Python?
Adriver.save_screenshot('file.png')
Bdriver.take_screenshot()
Cdriver.capture('file.png')
Ddriver.screenshot_save()
✗ Incorrect
The correct method to save a screenshot is driver.save_screenshot('filename.png').
Why is an HTML report better than a plain text report?
AIt uses less disk space
BIt runs tests faster
CIt provides a visual, easy-to-read summary
DIt requires no setup
✗ Incorrect
HTML reports provide a visual summary with colors and structure, making results easier to understand.
What is a good practice when naming tests for HTML reports?
AUse random numbers
BUse descriptive names explaining the test purpose
CUse very short names like 'test1'
DUse only uppercase letters
✗ Incorrect
Descriptive test names help readers quickly understand what each test checks in the report.
Explain how to generate an HTML report for Selenium tests using pytest-html.
Think about the command line steps and the plugin usage.
You got /3 concepts.
Describe how to include screenshots of failed tests in an HTML report.
Consider how Selenium and the reporting tool work together.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of generating an HTML report in Selenium Python testing?
easy
A. To avoid writing assertions
B. To speed up test execution
C. To make test results easy to read and share
D. To write test cases faster
Solution
Step 1: Understand the role of HTML reports
HTML reports present test results in a clear, visual format that anyone can read.
Step 2: Compare with other options
Speeding tests, writing tests faster, or avoiding assertions are unrelated to HTML reports.
Final Answer:
To make test results easy to read and share -> Option C
Quick Check:
HTML reports = clear, shareable results [OK]
Hint: HTML reports show results clearly for sharing [OK]
Common Mistakes:
Thinking HTML reports speed up tests
Confusing report generation with test writing
Believing reports remove need for assertions
2. Which Python package is commonly used with unittest to generate HTML reports in Selenium tests?
easy
A. pytest-html
B. unittest-html
C. selenium-html
D. HtmlTestRunner
Solution
Step 1: Identify the package for unittest HTML reports
HtmlTestRunner is designed to work with unittest for HTML report generation.
Step 2: Eliminate other options
pytest-html is for pytest, selenium-html and unittest-html are not standard packages.
Final Answer:
HtmlTestRunner -> Option D
Quick Check:
unittest + HtmlTestRunner = HTML reports [OK]
Hint: HtmlTestRunner works with unittest for HTML reports [OK]
Common Mistakes:
Choosing pytest-html for unittest tests
Assuming selenium-html is a real package
Confusing unittest-html as official
3. Given this code snippet using HtmlTestRunner, what folder will the HTML report be saved in?
import unittest
import HtmlTestRunner
class TestExample(unittest.TestCase):
def test_pass(self):
self.assertTrue(True)
if __name__ == '__main__':
unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='reports'))
medium
A. Current directory
B. reports folder
C. HtmlTestRunner folder
D. No folder, prints to console only
Solution
Step 1: Check the output parameter in HTMLTestRunner
The output='reports' argument tells HtmlTestRunner to save reports in the 'reports' folder.
Step 2: Understand default behavior
Without output specified, reports save in current directory, but here 'reports' is explicit.
Final Answer:
reports folder -> Option B
Quick Check:
output='reports' means save in reports folder [OK]
Hint: output='foldername' sets report save location [OK]
Common Mistakes:
Assuming reports save in current directory by default
Thinking HtmlTestRunner creates its own folder
Believing reports print only to console
4. What is wrong with this code snippet for generating an HTML report using HtmlTestRunner?
import unittest
import HtmlTestRunner
class TestExample(unittest.TestCase):
def test_fail(self):
self.assertEqual(1, 2)
if __name__ == '__main__':
unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output=''))
medium
A. Empty output string causes report not to save
B. assertEqual syntax is incorrect
C. Missing import for HtmlTestRunner
D. Test class must inherit from HtmlTestRunner
Solution
Step 1: Check the output parameter usage
Setting output='' means no folder is specified, which can cause HtmlTestRunner to fail saving reports properly.
Step 2: Verify other parts
assertEqual syntax is correct, HtmlTestRunner is imported, and test class inheritance is correct.
Final Answer:
Empty output string causes report not to save -> Option A
Quick Check:
output='' disables report folder, causing save issues [OK]
Hint: Provide a valid folder name in output to save reports [OK]
Common Mistakes:
Thinking assertEqual(1, 2) is syntax error
Believing test class must inherit HtmlTestRunner
Ignoring output parameter effect
5. You want to generate an HTML report that shows detailed pass/fail results and saves in a folder named 'test_reports'. Which code snippet correctly sets this up using HtmlTestRunner with unittest?
hard
A. unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='test_reports'))
B. unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(report='test_reports'))
C. unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(folder='test_reports'))
D. unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(path='test_reports'))
Solution
Step 1: Identify correct parameter for output folder
HtmlTestRunner uses 'output' parameter to specify the folder for saving reports.
Step 2: Check other parameter names
'report', 'folder', and 'path' are not valid parameters for HtmlTestRunner's HTMLTestRunner class.
Final Answer:
unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='test_reports')) -> Option A
Quick Check:
Use output='foldername' to save reports correctly [OK]
Hint: Use output='foldername' to set report save location [OK]
Common Mistakes:
Using wrong parameter names like report or folder
Not specifying output folder at all
Confusing HtmlTestRunner options with other packages
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.