$ pip install -U behave-xray
or from the source:
$ python setup.py install
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 |
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 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
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'))
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