Skip to main content

Declare dependencies between Robot Framework tests

Project description

Declare dependencies between tests.

Ideally tests are independent, but when tests depend on earlier tests, DependencyLibrary makes it easy to explicitly declare these dependencies and have tests that depend on each other do the right thing.

Versioning

This library’s version numbers follow the SemVer 2.0.0 specification.

Installation

pip install robotframework-dependencylibrary

Usage

First, include the library in your tests:

*** Settings ***
Library  DependencyLibrary

Typical usage:

*** Test cases ***
Passing Test
    No operation

A Test that Depends on "Passing Test"
    Depends on test  Passing Test
    Log  The rest of the keywords in this test will run as normal.

When you need to declare multiple dependencies, just repeat the keyword:

*** Test cases ***
Another Passing Test
    No operation

A Test that Depends on Both "Passing Test" and "Another Passing Test"
    Depends on test  Passing Test
    Depends on test  Another Passing Test
    Log  The rest of the keywords in this test will run as normal.

You can also depend on the statuses of entire test suites:

*** Test cases ***
A Test that Depends on an Entire Test Suite Passing
    Depends on suite  Some Test Suite Name
    Log  The rest of the keywords will run if that whole suite passed.

Note that to depend on a suite or a test from another suite, you must either run Robot Framework with --listener DependencyLibrary, or that suite must also include DependencyLibrary in its *** Settings ***.

Skipped Dependencies

If a dependency was skipped, the depending test is also skipped:

*** Test cases ***
Skipped Test
    Skip  This test is skipped for some reason.

A Test that Depends on "Skipped Test"
    Depends on test  Skipped Test
    Log  The rest of the keywords (including this log) will NOT run!

The skip message follows this format:

Dependency not met: test case 'Skipped Test' was skipped.

Failing Dependencies

If a dependency failed, the depending test is skipped instead of redundantly failing as well:

*** Test cases ***
Failing Test
    Fail  This test failed for some reason.

A Test that Depends on "Failing Test"
    Depends on test  Failing Test
    Log  The rest of the keywords (including this log) will NOT run!

The skip message follows this format:

Dependency not met: test case 'Failing Test' failed.

Mistake Warnings

If you depend on a test or suite that does not exist or has not run yet,

*** Test cases ***
A Test that Depends on "Missing Test"
    Depends on test  Missing Test

the test will warn and the warning message follows this format:

Dependency not met: test case 'Missing Test' not found.

If you make a test depend on itself or on the suite that contains it,

*** Test cases ***
Depends on Self
    Depends on test  Depends on Self

the test will warn and the warning message follows this format:

Dependency not met: test case 'Depends on Self' mid-execution.

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-dependencylibrary-4.0.1.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

robotframework_dependencylibrary-4.0.1-py2.py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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