Behave JIRA XRAY results uploader
Project description
behave-xray
Installation
$ pip install -U behave-xray
or from the source:
$ python setup.py install
Usage
Add JIRA tags to Gherkin scenario:
# --FILE: tutorial.feature
@jira.test_plan('JIRA-3')
Feature: showing off behave
Feature's description
@jira.testcase('JIRA-1')
Scenario: run a simple test
Given we have behave installed
When we implement a test
Then behave will test it for us!
@jira.testcase('JIRA-2')
Scenario Outline: Add two numbers in Calc
Given Calculator is open
When I add <a> and <b>
Then result is <result>
Examples: Sum
| a | b | result |
| 3 | 4 | 7 |
| 6 | 10 | 18 |
This library also supports the feature files exported from Xray Cucumber tests:
Feature: showing off behave
Feature's description
@TEST_JIRA-1
Scenario: run a simple test
Given we have behave installed
When we implement a test
Then behave will test it for us!
@TEST_JIRA-2
Scenario Outline: Add two numbers in Calc
Given Calculator is open
When I add <a> and <b>
Then result is <result>
Examples: Sum
| a | b | result |
| 3 | 4 | 7 |
| 6 | 10 | 18 |
Configure Jira URL and authentication
Set Jira server API base URL in system environments:
$ export XRAY_API_BASE_URL=<jira URL>
Set system environments for basic authentication:
$ export XRAY_API_USER=<jria username>
$ export XRAY_API_PASSWORD=<user password>
Set system environments for Personal Access Tokens authentication:
$ export XRAY_TOKEN=<Xray token>
Set system environments for Could server authentication with Client ID and Client Secret:
$ export XRAY_CLIENT_ID=<Xray client id>
$ export XRAY_CLIENT_SECRET=<Xray client secret>
Run tests
Run tests against Jira Xray Server+DC:
$ behave -f behave_xray:XrayFormatter
Run tests against Jira Xray Cloud server:
$ behave -f behave_xray:XrayCloudFormatter
You can register formatter in behave.ini
:
# -- FILE: behave.ini
[behave.formatters]
xray = behave_xray:XrayCloudFormatter
and use with shorter name:
$ behave --f xray
Attach an evidence to the scenario
One can implement scenario_xray_result
hook to update results for a scenario.
# - FILE: environment.py
from behave.model import Status
from behave_xray import hookimpl
from behave_xray.evidence import text
@hookimpl
def scenario_xray_result(result, scenario):
if scenario.status == Status.failed:
result.evidences.append(text(data='This is scenario evidence', filename=f'{scenario.name}.txt'))
Customize report
Add summary to a report:
$ behave -f behave_xray:XrayCloudFormatter -D xray.summary='Report generated by behave'
or from behave.ini
file:
# -- FILE: behave.ini
[behave.userdata]
xray.summary = Report generated by behave
Available options:
xray.summary
xray.user
xray.version
xray.revision
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file behave_xray-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: behave_xray-0.2.2-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49a740e93b6c641d260eec54e7a3fded27444d2d6596863b0a0e79bf8d6cfa02 |
|
MD5 | 67a75d076e0a51f265846bc6ea05f73a |
|
BLAKE2b-256 | 14e206a4bdff14074432d75daa3383a62e720ea1c71549ef6dcf1e80b505ff66 |