Robot Framework keyword library wrapper around requests
Project description
🏠 RequestsLibrary
is a Robot Framework library
aimed to provide HTTP api testing functionalities by wrapping the well known Python Requests Library.
Install stable version
pip install robotframework-requests
Install pre-release version
pip install robotframework-requests --pre
🤖 Quick start
*** Settings ***
Library RequestsLibrary
*** Test Cases ***
Quick Get Request Test
${response}= GET https://www.google.com
Quick Get Request With Parameters Test
${response}= GET https://www.google.com/search params=query=ciao expected_status=200
Quick Get A JSON Body Test
${response}= GET https://jsonplaceholder.typicode.com/posts/1
Should Be Equal As Strings 1 ${response.json()}[id]
What's new in 0.9
Sessionless keywords are now available, you can just GET
, POST
, etc.. no need to create a session anymore!
${resp}= GET https://www.google.com
Status Should Be
and Request Should Be Successfull
can use the last response, no need to pass the response anymore!
GET https://www.google.com
Status Should Be 200
What's new in 0.8
New keywords structure:
All requests keywords have been rewritten because of many not backward compatible changes
and to allow in the near future requests keywords without a session.
Example Get Request
become GET On Session
and soon there will be also just GET
when a session is not needed.
Old keywords * Request
are now deprecated and will be removed in 1.0.0 version.
Implicit assert on status code:
* On Session
keywords automatically fail if an error status code is returned.
expect_status=
could be used to specify a status code (201
, OK
, Bad request
)
or any
if you want to evaluate the response in any case.
Closer to the original Requests library: New keywords have the same parameter orders and structure as the original. Lot of pre-parsing / encoding has been removed to have a more accurate and unchanged behaviour.
Cleaner project architecture: Main keywords file has been split with a more logic division to allow better and faster maintenance.
🤖 More examples
*** Settings ***
Library Collections
Library RequestsLibrary
Suite Setup Create Session jsonplaceholder https://jsonplaceholder.typicode.com
*** Test Cases ***
Get Request Test
Create Session google http://www.google.com
${resp_google}= GET On Session google / expected_status=200
${resp_json}= GET On Session jsonplaceholder /posts/1
Should Be Equal As Strings ${resp_google.reason} OK
Dictionary Should Contain Value ${resp_json.json()} sunt aut facere repellat provident
Post Request Test
&{data}= Create dictionary title=Robotframework requests body=This is a test! userId=1
${resp}= POST On Session jsonplaceholder /posts json=${data} expected_status=anything
Status Should Be 201 ${resp}
📖 Keywords documentation
Robotframework-requests offers a wide set of keywords which can be found in the Keywords documentation
🔬 Test examples
You can find many test examples inside the atests
folder.
🤝 Contributing ✍️
Feel free to contribute and open an issue in order to discuss it. Before doing it take a look at the contribution guidelines.
📢 Get in touch with the community via slack and Users group
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for robotframework-requests-1.0a8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a4fb7e9bedfdf6ba3e1e3d1880a16e077addccdacba534c5630be9672fd4493 |
|
MD5 | d6cde50fd2a43d86f1c715dec0ce1efc |
|
BLAKE2b-256 | 124b37a4a6d0c0bb494e30863d70358c988f35fbf155aa5fba2f0d76d07e5f9b |
Hashes for robotframework_requests-1.0a8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbb85c472ddec3b55da9b20169ae65f7b68a09a21f07e70dcd017c995f813084 |
|
MD5 | ee83c89d3281a8fcbd9e2feba2af2a0b |
|
BLAKE2b-256 | b7c113fcd4acd0fb9eecd0e65989a20711ac7bb44d59048ee8c325d47c2d3548 |