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.0a4.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for robotframework-openapidriver-0.1.0a4.tar.gz
Algorithm Hash digest
SHA256 45e78b9b83227d7ad51988a81027a52694d82a8c1542e473cf7c741a8af893a8
MD5 ca324a09697b59c4c64a2fc99128765a
BLAKE2b-256 5a23c3b908064901aafb217f0b905149ba35e486331613bc14a68b1929ca4624

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_openapidriver-0.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 7bc6578e694637bd4e050ac77c411c07488260ea418b88bea545b667108b292a
MD5 86aedf590662c4791bcb855da27e1c88
BLAKE2b-256 224c45b67968fd41cefcbc82e4813ecd1719399ac74eb8454ed8477a7d247a73

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