# [Qase TestOps](https://qase.io) Behave Reporter
[![License](https://lxgaming.github.io/badges/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
## Installation
To install the latest version, run:
```sh
pip install pre qase-behave
```
## Getting started
The Behave reporter can auto-generate test cases
and suites from your test data.
Test results of subsequent test runs will match the same test cases
as long as their names and file paths don't change.
You can also annotate the tests with the IDs of existing test cases
from Qase.io before executing tests. It's a more reliable way to bind
autotests to test cases, that persists when you rename, move, or
parameterize your tests.
### Metadata
- `qase.id` - set the ID of the test case
- `qase.fields` - set the fields of the test case
- `qase.suite` - set the suite of the test case
- `qase.ignore` - ignore the test case in Qase. The test will be executed, but the results will not be sent to Qase.
For detailed instructions on using annotations and methods, refer to [Usage](docs/usage.md).
For example:
```gherkin
Feature: Example tests
@qase.id:1 @qase.fields:{"description":"It_is_simple_test"} @qase.suite:MySuite
Scenario: Example test
Given I have a simple test
When I run it
Then it should pass
```
To execute Behave tests and report them to Qase.io, run the command:
```bash
behave --format=qase.behave.formatter:QaseFormatter
```
You can try it with the example project at [`examples/behave`](../examples/behave/).
## Configuration
Qase Behave Reporter is configured in multiple ways:
- using a config file `qase.config.json`
- using environment variables
- using command line options
Environment variables override the values given in the config file,
and command line options override both other values.
Configuration options are described in the
[configuration reference](docs/CONFIGURATION.md).
### Example: qase.config.json
```json
{
"mode": "testops",
"fallback": "report",
"testops": {
"project": "YOUR_PROJECT_CODE",
"api": {
"token": "YOUR_API_TOKEN",
"host": "qase.io"
},
"run": {
"title": "Test run title"
},
"batch": {
"size": 100
}
},
"report": {
"driver": "local",
"connection": {
"local": {
"path": "./build/qase-report",
"format": "json"
}
}
},
"environment": "local"
}
```
## Requirements
We maintain the reporter on [LTS versions of Python](https://devguide.python.org/versions/).
`python >= 3.7`
`behave >= 1.2.6`
<!-- references -->
[auth]: https://developers.qase.io/#authentication
Raw data
{
"_id": null,
"home_page": null,
"name": "qase-behave",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "qase, behave, plugin, testops, report, qase reporting, test observability",
"author": null,
"author_email": "Qase Team <support@qase.io>",
"download_url": "https://files.pythonhosted.org/packages/92/1b/c68bfa26bbd67c04ee05ff60a500c3f4d2bfc2f16f051b0f79371e5a0f05/qase_behave-1.0.0.tar.gz",
"platform": null,
"description": "# [Qase TestOps](https://qase.io) Behave Reporter\n\n[![License](https://lxgaming.github.io/badges/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\n## Installation\n\nTo install the latest version, run:\n\n```sh\npip install pre qase-behave\n```\n\n## Getting started\n\nThe Behave reporter can auto-generate test cases\nand suites from your test data.\nTest results of subsequent test runs will match the same test cases\nas long as their names and file paths don't change.\n\nYou can also annotate the tests with the IDs of existing test cases\nfrom Qase.io before executing tests. It's a more reliable way to bind\nautotests to test cases, that persists when you rename, move, or\nparameterize your tests.\n\n### Metadata\n\n- `qase.id` - set the ID of the test case\n- `qase.fields` - set the fields of the test case\n- `qase.suite` - set the suite of the test case\n- `qase.ignore` - ignore the test case in Qase. The test will be executed, but the results will not be sent to Qase.\n\nFor detailed instructions on using annotations and methods, refer to [Usage](docs/usage.md).\n\nFor example:\n\n```gherkin\nFeature: Example tests\n\n @qase.id:1 @qase.fields:{\"description\":\"It_is_simple_test\"} @qase.suite:MySuite\n Scenario: Example test\n Given I have a simple test\n When I run it\n Then it should pass\n```\n\nTo execute Behave tests and report them to Qase.io, run the command:\n\n```bash\nbehave --format=qase.behave.formatter:QaseFormatter\n```\n\nYou can try it with the example project at [`examples/behave`](../examples/behave/).\n\n## Configuration\n\nQase Behave Reporter is configured in multiple ways:\n\n- using a config file `qase.config.json`\n- using environment variables\n- using command line options\n\nEnvironment variables override the values given in the config file,\nand command line options override both other values.\n\nConfiguration options are described in the\n[configuration reference](docs/CONFIGURATION.md).\n\n### Example: qase.config.json\n\n```json\n{\n \"mode\": \"testops\",\n \"fallback\": \"report\",\n \"testops\": {\n \"project\": \"YOUR_PROJECT_CODE\",\n \"api\": {\n \"token\": \"YOUR_API_TOKEN\",\n \"host\": \"qase.io\"\n },\n \"run\": {\n \"title\": \"Test run title\"\n },\n \"batch\": {\n \"size\": 100\n }\n },\n \"report\": {\n \"driver\": \"local\",\n \"connection\": {\n \"local\": {\n \"path\": \"./build/qase-report\",\n \"format\": \"json\"\n }\n }\n },\n \"environment\": \"local\"\n}\n```\n\n## Requirements\n\nWe maintain the reporter on [LTS versions of Python](https://devguide.python.org/versions/).\n\n`python >= 3.7`\n`behave >= 1.2.6`\n\n<!-- references -->\n\n[auth]: https://developers.qase.io/#authentication\n",
"bugtrack_url": null,
"license": null,
"summary": "Qase Behave Plugin for Qase TestOps and Qase Report",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://developers.qase.io",
"Homepage": "https://qase.io",
"Repository": "https://github.com/qase-tms/qase-python/tree/master/qase-pytest"
},
"split_keywords": [
"qase",
" behave",
" plugin",
" testops",
" report",
" qase reporting",
" test observability"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "00dbffbe6b911e04eda6a78c297c9fa21fc0829ce30dc0246ca1cfdf14f682b1",
"md5": "389bd4fd1bc67681d530f5623749c17b",
"sha256": "30afa233185b5d237a61b08d83f73173cf260de609a2fd42a7191ce97710929a"
},
"downloads": -1,
"filename": "qase_behave-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "389bd4fd1bc67681d530f5623749c17b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 9285,
"upload_time": "2024-11-28T15:03:03",
"upload_time_iso_8601": "2024-11-28T15:03:03.269014Z",
"url": "https://files.pythonhosted.org/packages/00/db/ffbe6b911e04eda6a78c297c9fa21fc0829ce30dc0246ca1cfdf14f682b1/qase_behave-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "921bc68bfa26bbd67c04ee05ff60a500c3f4d2bfc2f16f051b0f79371e5a0f05",
"md5": "74d35fa8f669f6c97f26e3aeb95ca49d",
"sha256": "28f51c8c6562ba36e0a8ac73d8fe6775b5528f8b1cd39ab9b625d3a71bae7ac1"
},
"downloads": -1,
"filename": "qase_behave-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "74d35fa8f669f6c97f26e3aeb95ca49d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 10384,
"upload_time": "2024-11-28T15:03:04",
"upload_time_iso_8601": "2024-11-28T15:03:04.488521Z",
"url": "https://files.pythonhosted.org/packages/92/1b/c68bfa26bbd67c04ee05ff60a500c3f4d2bfc2f16f051b0f79371e5a0f05/qase_behave-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-28 15:03:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "qase-tms",
"github_project": "qase-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "qase-behave"
}