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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for robotframework-openapidriver-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 03d29346f1fb20a9b40c625caba312780d682b21220d083ec30a9581edcbab15
MD5 42bba3426754b8c92bc703fc177588dd
BLAKE2b-256 52b834b61adcf4a10c6532f3eac91154b1f8d0cf9f08da59b75b4014e811599e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robotframework_openapidriver-0.1.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 0897974106b7a70267f0d0eb8477bea824d4d9c57bec73c37238454a617b3ec9
MD5 ab776023d39262f3be7119ff08dbf50d
BLAKE2b-256 4a1ad62143a884288278a4f8ba199db50234f1b659d13c0e126ce5f1c8901991

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