logo logo

Create Pytest HTML Test Reports

main post image

This tutorial will make web UI testing easy. We will build a simple yet robust web UI test solution using Python, pytest, and Selenium WebDriver. We will learn strategies for good test design as well as patterns for good automation code. By the end of the tutorial, you’ll be a web test automation champ! Your Python test project can be the foundation for your own test cases, too.

Tutorial Chapters

  1. Set Your Test Automation Goals (Chapter 1)
  2. Create A Python Test Automation Project Using Pytest (Chapter 2)
  3. Installing Selenium WebDriver Using Python and Chrome (Chapter 3)
  4. Write Your First Web Test Using Selenium WebDriver, Python and Chrome (Chapter 4)
  5. Develop Page Object Selenium Tests Using Python (Chapter 5)
  6. How to Read Config Files in Python Selenium Tests (Chapter 6)
  7. Take Your Python Test Automation To The Next Level (Chapter 7)

When pytest runs at the command line, it sometimes prints an unhelpful wall of text. Visual reports are a much better way to consume test result information, especially for non-developers. Adding the pytest-html plugin to your test project enables you to print pretty HTML reports with one simple command line option.

Reports will look like this:

pytest-html Report

Go ahead and check out the next tip for taking your web UI testing with Python to the next level.


TestProject Test Automation Tool


About the author


Andy Knight is the “Automation Panda” – an engineer, consultant, and international speaker who loves all things software. He specializes in building robust test automation systems from the ground up. Read his tech blog at AutomationPanda.com, and follow him on Twitter at @AutomationPanda.

Join TestProject Community

Get full access to the world's first cloud-based, open source friendly testing community. Enjoy TestProject's end-to-end test automation Platform, Forum, Blog and Docs - All for FREE.

Join Us Now  


5 2 comments
  • Avatar
    Vadim Sergin February 8, 2020, 9:04 pm

    So, in order to generate a report we can run our tests via command line like this: pytest –html=report.html
    But what if I want to generate report and run my tests via any IDE (VS Code for example) using Pytest not a command line? How can I build my test then? How can I write a function/method to run report.html then?
    Thank you.

    • Avatar
      Vadim Sergin February 21, 2020, 9:13 pm

      Managed to solve this.
      You need to create pytest.ini file in the project folder and add this:
      addopts = -v –html=report.html –self-contained-html

Leave a Reply