This application is built to do REST API testing using python scripts along with the use of Pytest module as our testing framework.
API being tested: restful-booker
Above Features are used to make code simple, generic, understandable, clean and easily maintainable for future development. Above features inlcude as well Allure reporting for test reporting
Install the dependencies and start the testing.
Install Pytest:
pip install -U pytest
Install Requests:
pip install requests
Install Json Path:
pip install jsonpath
Install Allure with Pytest:
pip install allure-pytest
Next download the latest allure package zip from allure-framework GitHub repo
- Unzip the downloaded zip file
- Copy the path till bin
- Add it to the path environment variable
- Open the terminal and run
allure --version
To run a test, you can simply write the following command on Terminal:
pytest
To run and get details of all the executed test, you can simply write the following command on Terminal:
pytest -rA
To run and generate full HTML details report of all the executed test, you can simply write the following commands on Terminal:
But first install Pytest-HTML by writing the following command on Terminal
pip install pytest-html
Then write the following command on Terminal
pytest --html==YOUR_REPORT_FILE_NAME.html
To see the reports, open the Project window, and then right-click then click on refresh then right-click on StationReport.html to open the file on the default browser.
To run and generate Allure reports
In the project directory generate a folder to save allure reports; use the command below to automatically generate this
allure generate
This will create a folder named allure-report in your project directory
Now you can run your tests with pytest runner by specifying the directory path to save your allure report
pytest --alluredir=allure-report/
Once test execution completes, all the test results would get stored in allure-report directory
The allure report can be viewed in the browser with the command
allure serve allure-report/
Link to allure pytest
- Python
- Any IDE