BDD-style Rest API testing tool
Project description
BDD-style Rest API testing tool
It uses python’s requests for performing HTTP requests, nose for most assertions, trafaret for json validation and behave for BDD style of tests.
Installation
Clone project
Run
pip install -r requirements.txt # install required dependencies
OR
Run
pip install behave_rest
Running
# to execute all feature files (all tests) behave # to execture specific feature behave features/twitter.feature # to see printed output add --no-capture behave --no-capture # run features with specific tags behave --tags=without_login --tags=slow
More about behave tool you can read here https://pythonhosted.org/behave/index.html
Test example
Feature: Twitter search Background: Setup environment Given I set base URL to "https://api.twitter.com/1.1/search" And I set "Authorization" header to "context.twitter_auth" Scenario: Search for tweets When I make a GET request to "tweets.json" with parameters |q| |stanfy| Then the response status code should equal 200 And the response structure should equal "twitterSearchData" And the response header "status" should equal "200 OK"
You can get test feature files from the project repo
CI reports
Behave support JUnit reports, that are easily parsed by CI tools
To enable JUnit reports, create behave.ini file:
[behave] junit=true
Reports are generated into /reports folder
Another useful options to add into behave.ini are:
stdout_capture=False to add printed output into reports
show_timings=no to hide timing of each step
Project Structure
Feature files are intended to locate in /features folder
Corresponding steps are located in /features/steps
Overall project structure is as follows:
+-- features/ +-- conf.yaml // store project config (urls, global variables, etc.) +-- environment.py // context setup steps (e.g. load from config) +-- *.feature // feature files +-- steps/ +-- __init__.py // used to import predefined steps +-- json_responses.py // response structures described in Trafaret format +-- *.py // steps related to corresponding feature (e.g. "login.py" contains steps that are related to "login.feature")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file behave-rest-0.1.3.tar.gz
.
File metadata
- Download URL: behave-rest-0.1.3.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26863ca0163f1e5cffc7be04d07339954ce9f5171e802a18471a4068e465a2a6 |
|
MD5 | 2b8053c1c24c2219aa4c8a9ede1f5a50 |
|
BLAKE2b-256 | f793b072ece7394d6aa64ad012f4aa01d6612dfaf8f9f3fd2fef68b18d487764 |