An open API service indexing awesome lists of open source software.

https://github.com/prashanth-sams/qmetry-pytest

A PyTest plugin that provides seamless integration with QMetry Test Management Platform.
https://github.com/prashanth-sams/qmetry-pytest

jira pytest pytest-plugin qmetry qmetry-cucumber qmetry-pytest qmetryintegration

Last synced: 6 days ago
JSON representation

A PyTest plugin that provides seamless integration with QMetry Test Management Platform.

Awesome Lists containing this project

README

          

[![PyPI version](https://badge.fury.io/py/qmetry-pytest.svg)](https://badge.fury.io/py/qmetry-pytest)
[![codecov](https://codecov.io/github/prashanth-sams/qmetry-pytest/graph/badge.svg?token=WVRR4PU0VS)](https://codecov.io/github/prashanth-sams/qmetry-pytest)
[![PyPI Downloads](https://static.pepy.tech/badge/qmetry-pytest)](https://pepy.tech/projects/qmetry-pytest)

# qmetry-pytest
A PyTest plugin that provides seamless integration with QMetry Test Management Platform.


qmetry

## Features

- Automatically uploads test results to QMetry
- Generates test cycles and updates test case statuses seamlessly
- Supports JUnit XML reports for Automation API
- Supports Cucumber JSON reports for Automation API

## Installation

```
pip install qmetry-pytest
```

## Configuration

You'll need to create a qmetry.properties file in your project root.

#### Default and Mandatory Properties:
```
qmetry.enabled=true
qmetry.url=
qmetry.authorization=
```

### Automation API

#### Mandatory Properties:
```
qmetry.automation.enabled=true
qmetry.automation.apikey=
qmetry.automation.resultfile=
```

#### Optional Properties:
```
qmetry.automation.payload.format=
qmetry.automation.payload.attachFile=true
qmetry.automation.payload.isZip=false
qmetry.automation.payload.environment=
qmetry.automation.payload.build=
qmetry.automation.payload.fields.testCycle.labels=
qmetry.automation.payload.fields.testCycle.status=Done
qmetry.automation.payload.fields.testCycle.summary=
qmetry.automation.payload.fields.testCycle.customFields=
qmetry.automation.payload.fields.testCase.labels=
qmetry.automation.payload.fields.testCase.status=Done
```

## Test Example

```
import pytest

def test_example():
assert True

@pytest.mark.qid("TC-124")
def test_another_example():
assert 1 + 1 == 2
```

## Test Execution

```
pytest --qmetry
```

### To generate XML report before upload

Note: Skip this section if you are using the Cucumber framework

```
pytest --qmetry --junitxml=report/results.xml
```

## Best Practices

- No markers are required for the automation flow.
- Ensure secure authentication and keep the configuration updated in `qmetry.properties`.
- Remember to include `--qmetry` as a command-line argument during test execution.