Skip to main content

Qase Robot Framework Plugin

Project description

Qase TestOps Robot Framework Reporter

PyPI version PyPI downloads License

Qase Robot Framework Reporter enables seamless integration between your Robot Framework tests and Qase TestOps, providing automatic test result reporting, test case management, and comprehensive test analytics.

Features

  • Link automated tests to Qase test cases by ID
  • Auto-create test cases from your test suites
  • Report test results with rich metadata (fields, parameters)
  • Automatic step reporting from keywords
  • Multi-project reporting support
  • Support for parallel execution with pabot
  • Flexible configuration (file, environment variables)

Installation

pip install qase-robotframework

Quick Start

1. Create qase.config.json in your project root:

{
  "mode": "testops",
  "testops": {
    "project": "YOUR_PROJECT_CODE",
    "api": {
      "token": "YOUR_API_TOKEN"
    }
  }
}

2. Add Qase ID to your test:

*** Test Cases ***
User can log in with valid credentials
    [Tags]    Q-1
    Open Login Page
    Enter Valid Credentials
    Verify Dashboard Is Visible

3. Run your tests:

robot --listener qase.robotframework.Listener tests/

Upgrading

For migration guides between major versions, see Upgrade Guide.

Configuration

The reporter is configured via (in order of priority):

  1. Environment variables (QASE_*, highest priority)
  2. Config file (qase.config.json)

Minimal Configuration

Option Environment Variable Description
mode QASE_MODE Set to testops to enable reporting
testops.project QASE_TESTOPS_PROJECT Your Qase project code
testops.api.token QASE_TESTOPS_API_TOKEN Your Qase API token

Example qase.config.json

{
  "mode": "testops",
  "fallback": "report",
  "testops": {
    "project": "YOUR_PROJECT_CODE",
    "api": {
      "token": "YOUR_API_TOKEN"
    },
    "run": {
      "title": "Robot Framework Automated Run"
    },
    "batch": {
      "size": 100
    }
  },
  "report": {
    "driver": "local",
    "connection": {
      "local": {
        "path": "./build/qase-report",
        "format": "json"
      }
    }
  }
}

Full configuration reference: See qase-python-commons for all available options including logging, status mapping, execution plans, and more.

Usage

Link Tests with Test Cases

Associate your tests with Qase test cases using the Q-{ID} tag:

*** Test Cases ***
User Registration
    [Tags]    Q-1
    Open Registration Page
    Fill Registration Form
    Submit Form
    Verify Registration Success

User Login
    [Tags]    Q-2    Q-3
    Open Login Page
    Enter Credentials
    Click Login Button

Add Metadata

Enhance your tests with fields using the qase.fields tag:

*** Test Cases ***
Critical Purchase Flow
    [Tags]    Q-1    qase.fields:{"severity":"critical","priority":"high","layer":"e2e"}
    [Documentation]    Verify user can complete a purchase
    Add Item To Cart
    Proceed To Checkout
    Complete Payment

Add Parameters

Report specific variables as parameters using the qase.params tag:

*** Variables ***
${USERNAME}    testuser
${PASSWORD}    testpass

*** Test Cases ***
Login Test
    [Tags]    Q-1    qase.params:[USERNAME, PASSWORD]
    Login With Credentials    ${USERNAME}    ${PASSWORD}
    Verify Login Success

Ignore Tests

Exclude specific tests from Qase reporting:

*** Test Cases ***
Work In Progress
    [Tags]    qase.ignore
    Log    This test is not reported to Qase

Test Result Statuses

Robot Framework Result Qase Status
PASS passed
FAIL (AssertionError) failed
FAIL (other exception) invalid
SKIP skipped

For detailed usage examples, see the Usage Guide.

Running Tests

Basic Execution

robot --listener qase.robotframework.Listener tests/

With Environment Variables

export QASE_MODE=testops
export QASE_TESTOPS_PROJECT=PROJ
export QASE_TESTOPS_API_TOKEN=your_token
robot --listener qase.robotframework.Listener tests/

With Robot Variables

robot --listener qase.robotframework.Listener \
    --variable QASE_TESTOPS_PROJECT:PROJ \
    --variable QASE_TESTOPS_API_TOKEN:your_token \
    tests/

Parallel Execution with Pabot

pabot --listener qase.robotframework.Listener tests/

Requirements

  • Python >= 3.9
  • robotframework >= 5.0.0

Documentation

Guide Description
Usage Guide Complete usage reference with all tags and options
Multi-Project Support Reporting to multiple Qase projects
Upgrade Guide Migration guide for breaking changes

Examples

See the examples directory for complete working examples.

License

Apache License 2.0. See LICENSE for details.

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

qase_robotframework-5.0.1.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qase_robotframework-5.0.1-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file qase_robotframework-5.0.1.tar.gz.

File metadata

  • Download URL: qase_robotframework-5.0.1.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for qase_robotframework-5.0.1.tar.gz
Algorithm Hash digest
SHA256 f1b0a93debfd5b844cdd5b2ed4c9525de646f950a3f0958b13206165a3e7835c
MD5 8265992ee70b7ae2518762149787ba88
BLAKE2b-256 163af1bf68cc5c29a4fbedcb931ce2cf0efc06fbadf6c60de3f28c1933a6cdfa

See more details on using hashes here.

File details

Details for the file qase_robotframework-5.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for qase_robotframework-5.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8544b8e1d7b80f8a2647f4c2f6aabb4315f37c417e38736c182584ddb347dcdd
MD5 5b8a354f4aceac8a3e055247d0f1a535
BLAKE2b-256 c4ffc888f5e149fb5a7d36b9ab91878b7e119546902c63b62b114cf5c11e627b

See more details on using hashes here.

Supported by

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