Behave - Reports



Report generation is one of the most important steps towards the test automation framework. At the end of the execution, we cannot rely on the console output rather we should have a detailed report.

It should have the information on the count of tests that passed, failed, skipped, feature and scenario breakdown. Behave does not produce an in-built report but it can output in multiple formats and we can utilize the third-party tools to generate a report.

All the available formatters in Behave are displayed with the command −

behave --format help

When you use the command, the following screen will appear on your computer −

Reports

Some of the common Behave reports are −

  • Allure Report.

  • Output JSON Report.

  • JUnit Report

JUnit Report

Let us execute a test having two feature files with the below test results −

JUnit Report

Project folder structure for the above test will be as follows −

Project Folder Structure

Step 1 − Execute the command

To create a JUnit report, run the command given below −

behave --junit 

Step 2 − Report folder generation

A folder called as the reports gets generated within the project, having the name TESTS-<feature file name>.xml.

Report Folder Generation

Here, Payment and Payment1 are the names of the feature files.

Step 3 − Report generation to a specific folder

To generate the reports to a specific folder, say my_reports. We have to run the below mentioned command −

behave --junit --junit-directory my_reports
Specific Folder

A folder called the my_reports gets generated within the project which contains the reports.

JSON Report

We can create the Behave JSON report. The JSON is actually a formatter.

Let us execute a test having two feature files with the below test results −

Feature Passed

Project folder structure for the above test is as follows −

Structure

Step 1 − Execute the command

To create a JSON output in console, run the command −

behave -f json

The following screen will appear −

Console

Step 2 − Output in readable format

To create a JSON output in a more readable format, run the following command −

behave -f json.pretty

Some portion of the output captured in the below image −

Json Pretty

Step 3 − Report generation to a specific folder

To generate the reports to a specific folder say, my_reports.json, we have to run the following command −

behave –f json.pretty –o my_reports.json

The following image represents the screen that will appear on your computer.

My Reports Json

A folder called the my_reports.json gets generated within the project, having details of all the features which are executed.

Allure Report

To generate Allure reports in Behave, first we have to install Allure in the system. For installation from the command line in Linux, run the following commands one after the other −

sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure

For Mac users, installation is done with the Homebrew with the following command −

brew install allure

For Windows, Allure is installed from the Scoop installer. Run the below command to download and install Scoop and finally, execute it in the PowerShell −

scoop install allure

To update Allure distribution installations from Scoop, run the below command from the installation directory of Scoop −

\bin\checkver.ps1 allure -u

Finally, run the command given below −

scoop update allure

After Allure has been installed, we have to get the Allure-Behave integration plugin for Python. For this, run the following command −

pip install allure-behave

To verify if Allure has been installed successfully, run the command stated below −

allure

Let us execute a test having two feature files with the below test results −

Execute a Test

Project folder structure for the above test is as follows −

My Allure

Step 1 − Report generation to a specific folder

To generate the reports to a specific folder, say my_allure, we have to run the following command −

behave -f allure_behave.formatter:AllureFormatter –o my_allure

You will get the screen as shown below −

JSON Extension

A folder called the my_allure gets generated within the project, having files with .json extension.

Step 2 − Start the web server

To start the web server, run the command given below −

allure serve my_allure

Here, the my_allure is the directory which contains the allure json files.

Allure JSON Files

Simultaneously, a browser gets opened, with the Allure report as shown below −

Allure Report

We can also click on individual features and find their breakdowns, as shown below −

Allure Behaviors
Advertisements