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.1.0.tar.gz (23.6 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.1.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for qase_robotframework-5.1.0.tar.gz
Algorithm Hash digest
SHA256 9d599ba11ca255f0d6bae805a2f4269ef1471d376cac6f25dcec5cb193404d36
MD5 7fc8c29bdad2877d07d33bcd46528db3
BLAKE2b-256 c3dc4449dfcb6725f8bc67181242db4664baef301f568963bc5ce5eb522eb9b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qase_robotframework-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1c4ce567f7a79fc065c9e8ac042b7f57ae7fe211a2caac9c444a0200fa7e06f
MD5 930be82bd4271bd073ead2b08b2a3578
BLAKE2b-256 95b9ebede0cd43c8aeff20f121e16114e6bf7ef3ba281fb91ce9b4c803214865

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