robotframework-httplibrary is a Robot Framework test library for all your HTTP needs. It uses livetest (which, in turn uses the famous webtest library underneath).
You can install robotframework-httplibrary via pip:
pip install --upgrade robotframework-httplibrary
API documentation can be found at http://peritus.github.com/robotframework-httplibrary/, here is an example on how to use it:
Setting | Value |
---|---|
Library | HttpLibrary.HTTP |
Test Case | Action | Argument |
---|---|---|
Example | ||
[Documentation] | Follows a Redirect | |
Create HTTP Context | httpstat.us | |
GET | /302 | |
Response Status Code Should Equal | 302 | |
Follow Response | ||
Response Body Should Contain | generating different HTTP codes |
You can view a report and a log of this test executed that looks like this:
This library is only tested on CPython. It might work on Jython, not sure.
If you want to hack on this library itself, this should get you started:
# bootstrap development environment git clone https://github.com/peritus/robotframework-httplibrary.git cd robotframework-httplibrary/ python bootstrap.py ./bin/buildout # run tests ./bin/robotframework tests/
I'm very happy about patches, pull-requests and API-discussions (as this is mostly a wrapper supposed to have a nice API)!
v0.4.6 (RC1)
- Added Python 3 support
- Added PATCH keyword
- Added OPTIONS keyword
v0.4.2
- Don't enforce ASCII when converting to JSON (so chinese characters are printed as such and not escaped like uXXXX). Thanks Terry Yin!
v0.4.1
- Tested with Robot Framework 2.8rc1
- Uses jsonpointer 1.0, jsonpatch 1.0
v0.4.0
- Compatible with Webtest > 2.0
- hard-deprecate 'Set HTTP Host', will be removed soon.
v0.3.4
- Add support for python-json-pointer >= 0.6 (if you experienced
"
AttributeError: 'module' object has no attribute 'set_pointer'
", you should upgrade to this version).
v0.3.3
- add HTTPS support
- add 'Stringify JSON' keyword
- implicitly set correct 'Host' header
Beerware: If we meet some day, and you think this stuff is worth it (or need a more serious license), you can buy me a beer in return.