Skip to content

peritus/robotframework-httplibrary

Repository files navigation

https://secure.travis-ci.org/peritus/robotframework-httplibrary.png?branch=master

robotframework-httplibrary

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).

Installation

You can install robotframework-httplibrary via pip:

pip install --upgrade robotframework-httplibrary

Usage

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:

http://peritus.github.com/robotframework-httplibrary/rfhttplib_example_test_execution.png

Compatibility

This library is only tested on CPython. It might work on Jython, not sure.

Development

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)!

Changelog

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

License

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.