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

✨ Install latest 0.9 pre-release (alpha) version ✨

pip install robotframework-requests --pre

What's new in 0.9 pre-release

Session less keywords are now available, you can just GET, POST, etc.. without creating a session before!

${resp}=  GET  https://www.google.com

See the full 0.9 Keywords documentation

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.

🤖 Example usage

*** 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 occaecati excepturi optio reprehenderit

Post Request Test
    &{data}=          Create dictionary  title=Robotframework requests  body=This is a test!  userId=1
    ${resp}=          POST On Session    jsonplaceholder     /posts    json=${data}

    Status Should Be                     201    ${resp}
    Dictionary Should Contain Key        ${resp.json()}     id

📖 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-0.8.2.tar.gz (15.7 kB view hashes)

Uploaded Source

Built Distribution

robotframework_requests-0.8.2-py3-none-any.whl (18.7 kB view hashes)

Uploaded Python 3

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