🏠 RequestsLibrary is a Robot Framework library
aimed to provide HTTP api testing functionalities by wrapping the well
known Python Requests Library.
pip install robotframework-requestspip install robotframework-requests --pre*** 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]Sessionless keywords are now available, you can just GET, POST, etc.. no need to create a session anymore!
${resp}= GET https://www.google.comStatus 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 200New 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.
*** 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} Robotframework-requests offers a wide set of keywords which can be found in the Keywords documentation
You can find many test examples inside the atests folder.
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