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:
HttpCtrl.Client - provides API to work with HTTP/HTTPS client [link client documentation].
HttpCtrl.Server - provides API to work with HTTP server [link server documentation].
HttpCtrl.Json - provides API to work Json messages [link json documentation].
HttpCtrl.Logging - provides API to configure the logging system that is used by HttpCtrl library [link logging documentation].
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
Metadata
Release files for robotframework-httpctrl 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| robotframework_httpctrl-0.3.3.tar.gz | 19.5 kB | Without provenance | Details for robotframework_httpctrl-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| robotframework_httpctrl-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for robotframework_httpctrl-0.3.3-py3-none-any.whl |
Total release size: 42.0 kB
Release files / robotframework_httpctrl-0.3.3.tar.gz
| Download URL | robotframework_httpctrl-0.3.3.tar.gz |
|---|---|
| Size | 19.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47a49c8df27897e637061b9dc849ea6bf9c6aba075afd1d1ce4ff58c18380fbd
|
|
BLAKE2b-256 checksum How to use checksums |
207e36918484783f1ee996ddec6ffec9b7e1679280c041524ef14525c14a5ef9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|
Release files / robotframework_httpctrl-0.3.3-py3-none-any.whl
| Download URL | robotframework_httpctrl-0.3.3-py3-none-any.whl |
|---|---|
| Size | 22.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e4594e9274895c950289b3ce5bb967d8344f3cfed07a0b8d5c656e5c070a2e4b
|
|
BLAKE2b-256 checksum How to use checksums |
33920724088275562e29ccee908a51e08416451e369b2034626516baee662cba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.23
|
Security for robotframework-httpctrl 0.3.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.