Skip to main content

Robot Framework keyword library wrapper around requests

Project description

Python application 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 stable version

pip install robotframework-requests

🤖 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

This version

0.9.7

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-0.9.7.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

robotframework_requests-0.9.7-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file robotframework-requests-0.9.7.tar.gz.

File metadata

File hashes

Hashes for robotframework-requests-0.9.7.tar.gz
Algorithm Hash digest
SHA256 c2a2839813e1dc6b299e7d336314c9982c225c5b7e001ec893dc3555c6a95740
MD5 f706bede8b7296ec7b22670001af7d91
BLAKE2b-256 61e2b17b940985e7b35f53767d908897870fcf4e143a2a7c2da76d152e4abc4c

See more details on using hashes here.

File details

Details for the file robotframework_requests-0.9.7-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_requests-0.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 96315066318778cbcf5523cdb6175f5a0b8fec33275030a20dade3a3d98aeca2
MD5 e645ab846f34d03c7bd600b3ef59278d
BLAKE2b-256 cd1803ef4d1132f50b55220af5308db91e1cc5481b8b063cac5fafa625b00f64

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