Skip to main content

Robot Framework keyword library wrapper around requests

Project description

Python build codecov PyPi downloads Latest Version

🏠 RequestsLibrary is a Robot Framework library aimed to provide HTTP api testing functionalities by wrapping the well known Python Requests Library.

Install old version 0.9 (supports python 2.7+)

pip install robotframework-requests

Install pre-release version 1.0a (supports python 3.8+)

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

robotframework-requests-1.0a14.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

robotframework_requests-1.0a14-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file robotframework-requests-1.0a14.tar.gz.

File metadata

File hashes

Hashes for robotframework-requests-1.0a14.tar.gz
Algorithm Hash digest
SHA256 2145f076189dd61ada7ffa34a70960bb8621b846f59c2ee46cc5122e26a484d8
MD5 f234cd03dfd6fe6c932e0e635580651c
BLAKE2b-256 632426ed06a43bd04e9e1494a295e6a02baf46c811717c15e256b2edb4e6a41c

See more details on using hashes here.

File details

Details for the file robotframework_requests-1.0a14-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_requests-1.0a14-py3-none-any.whl
Algorithm Hash digest
SHA256 e70c0da82cc46bf0d8793c32ca2c7d5494e721e5b53ca0049080440253484333
MD5 9945a28c57ca488ae66d92d3f908c25b
BLAKE2b-256 55fd3acd3217848e47371278e3d69230af0fa2a32bddf79500a70c62140933eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page