Skip to main content

A library for contract-testing OpenAPI / Swagger APIs.

Project description

OpenDriver is an extension of the Robot Framework® DataDriver library that allows for generation and execution of test cases based on the information in an OpenAPI document (also known as Swagger document). This document explains how to use the OpenApiDriver library.

For more information about Robot Framework®, see http://robotframework.org. For more information about the DataDriver library, see https://github.com/Snooz82/robotframework-datadriver.

Installation

If you already have Python >= 3.8 with pip installed, you can simply run:

pip install --upgrade robotframework-openapidriver

OpenAPI (aka Swagger)

The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful APIs. https://swagger.io/specification/

The openapi module implements a reader class that generates a test case for each endpoint, method and response that is defined in an OpenAPI document, typically an openapi.json or openapi.yaml file.

How it works

If the source file has the .json or .yaml extension, it will be loaded by the prance module and the test cases will be generated.

*** Settings ***
Library            OpenApiDriver
...                    source=openapi.json
Test Template      Do Nothing


*** Test Cases ***
Some OpenAPI test for ${method} on ${endpoint} where ${status_code} is expected

*** Keywords *** ***
Do Nothing
    [Arguments]    ${endpoint}    ${method}    ${status_code}
    No Operation

It is also possible to load the openapi.json / openapi.yaml directly from the server by using the url instead of a local file:

*** Settings ***
Library            OpenApiDriver
...                    source=http://127.0.0.1:8000/openapi.json

Since the OpenAPI document is essentially a contract that specifies what operations are supported and what data needs to be send and will be returned, it is possible to automatically validate the API against this contract. For this purpose, the openapi module also implements a number of keywords.

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-openapidriver-0.1.0a3.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file robotframework-openapidriver-0.1.0a3.tar.gz.

File metadata

File hashes

Hashes for robotframework-openapidriver-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 11865a33e1038a5d22a1808827f0435735ff0170c849809934390b7dbf8cbdce
MD5 580a38f7210ae87bfb8d15f0e54a16a4
BLAKE2b-256 a0c75f1607b82ee8e85163aed219476078089faa430ba92344fccce10bf94afe

See more details on using hashes here.

File details

Details for the file robotframework_openapidriver-0.1.0a3-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_openapidriver-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 2617a0eac284ac7b857ba9884bd69b510166571e5adbf06d09b57e2c29122402
MD5 10f98568f140748f822260c47100463e
BLAKE2b-256 8eb8779448a22ab1dc9bcd301bf4031415bf061faa4538a4442423bd9a00b2b9

See more details on using hashes here.

Supported by

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