Skip to main content

robotframework-httpctrl is a library for Robot Framework that provides HTTP/HTTPS client and HTTP server services.

Project description

HttpCtrl library for Robot Framework

RobotFramework-HttpCtrl is a library for Robot Framework that provides HTTP/HTTPS client and HTTP (IPv4 and IPv6) server services to make REST API testing easy.

License: The 3-Clause BSD License

Documentation: https://annoviko.github.io/robotframework-httpctrl/

Dependencies

Python version: >=3.8

Installation

Installation using pip3 tool:

$ pip3 install robotframework-httpctrl

Brief Overview of the Library Content

HttpCtrl contains following general libraries:

Examples

Send GET request to obtain origin IP address and check that is not empty:

*** Settings ***

Library         HttpCtrl.Client
Library         HttpCtrl.Json

*** Test Cases ***

Get Origin Address
    Initialize Client   www.httpbin.org
    Send HTTP Request   GET   /ip

    ${response status}=   Get Response Status
    ${response body}=     Get Response Body
    ${response body}=     Decode Bytes To String   ${response body}   UTF-8

    ${expected status}=   Convert To Integer   200
    Should Be Equal   ${response status}   ${expected status}

    ${origin}=    Get Json Value From String   ${response body}   origin
    Should Not Be Empty   ${origin}

In this example HTTP client sends POST request to HTTP server. HTTP server receives it and checks incoming request for correctness.

*** Settings ***

Library         String
Library         HttpCtrl.Client
Library         HttpCtrl.Server

Test Setup       Initialize HTTP Client And Server
Test Teardown    Terminate HTTP Server

*** Test Cases ***

Receive And Reply To POST
    ${request body}=   Set Variable   { "message": "Hello!" }
    Send HTTP Request Async   POST   /post   ${request body}

    Wait For Request
    Reply By   200

    ${method}=   Get Request Method
    ${url}=      Get Request Url
    ${body}=     Get Request Body
    ${body}=     Decode Bytes To String   ${body}   UTF-8

    Should Be Equal   ${method}   POST
    Should Be Equal   ${url}      /post
    Should Be Equal   ${body}     ${request body}

*** Keywords ***

Initialize HTTP Client And Server
    Initialize Client   127.0.0.1   8000
    Start Server        127.0.0.1   8000

Terminate HTTP Server
    Stop Server

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_httpctrl-0.3.3.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframework_httpctrl-0.3.3-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_httpctrl-0.3.3.tar.gz.

File metadata

  • Download URL: robotframework_httpctrl-0.3.3.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for robotframework_httpctrl-0.3.3.tar.gz
Algorithm Hash digest
SHA256 47a49c8df27897e637061b9dc849ea6bf9c6aba075afd1d1ce4ff58c18380fbd
MD5 4f3a7602b6496649e6d562590b6a9340
BLAKE2b-256 207e36918484783f1ee996ddec6ffec9b7e1679280c041524ef14525c14a5ef9

See more details on using hashes here.

File details

Details for the file robotframework_httpctrl-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_httpctrl-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e4594e9274895c950289b3ce5bb967d8344f3cfed07a0b8d5c656e5c070a2e4b
MD5 15c967ea5ccb4fe7b458934d897bd998
BLAKE2b-256 33920724088275562e29ccee908a51e08416451e369b2034626516baee662cba

See more details on using hashes here.

Supported by

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