Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion examples/pytest/qase.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,20 @@
},
"defect": true,
"project": "<project_code>",
"chunk": 200
"chunk": 200,
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
},
"framework": {
"pytest": {
Expand Down
64 changes: 64 additions & 0 deletions qase-behave/changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
# qase-behave 1.1.4

## What's new

- Added support for test run configurations. You can now specify configurations when creating test runs.
- Configurations can be specified in `qase.config.json`, environment variables, or CLI parameters.
- Support for automatic creation of configurations if they don't exist (controlled by `createIfNotExists` option).

Example configuration:
```json
{
"testops": {
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
}
}
```

Environment variable format: `QASE_TESTOPS_CONFIGURATIONS_VALUES="browser=chrome,environment=staging"`
CLI parameter format: `--qase-testops-configurations-values="browser=chrome,environment=staging"`

# qase-behave 1.1.3

## What's new
Expand Down Expand Up @@ -32,6 +64,38 @@ qase.comment("Test completed successfully")
qase.comment("Debug info: user logged in")
```

# qase-behave 1.1.4

## What's new

- Added support for test run configurations. You can now specify configurations when creating test runs.
- Configurations can be specified in `qase.config.json`, environment variables, or CLI parameters.
- Support for automatic creation of configurations if they don't exist (controlled by `createIfNotExists` option).

Example configuration:
```json
{
"testops": {
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
}
}
```

Environment variable format: `QASE_TESTOPS_CONFIGURATIONS_VALUES="browser=chrome,environment=staging"`
CLI parameter format: `--qase-testops-configurations-values="browser=chrome,environment=staging"`

# qase-behave 1.1.2

## What's new
Expand Down
2 changes: 2 additions & 0 deletions qase-behave/docs/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ and command line options override both other values.
| Batch size for uploading test results | `testops.batch.size` | `QASE_TESTOPS_BATCH_SIZE` | `qase-testops-batch-size` | 200 | No | 1 to 2000 |
| Create defects in Qase | `testops.defect` | `QASE_TESTOPS_DEFECT` | `qase-testops-defect` | `False`, don't create defects | No | `True`, `False` |
| Test run tags | `testops.run.tags` | `QASE_TESTOPS_RUN_TAGS` | `qase-testops-run-tags` | None, don't add any tags | No | Comma-separated list of tags |
| Test run configurations | `testops.configurations.values` | `QASE_TESTOPS_CONFIGURATIONS_VALUES` | `qase-testops-configurations-values` | None, don't add any configurations | No | Format: "group1=value1,group2=value2" |
| Create configurations if not exists | `testops.configurations.createIfNotExists` | `QASE_TESTOPS_CONFIGURATIONS_CREATE_IF_NOT_EXISTS` | `qase-testops-configurations-create-if-not-exists` | `False`, don't create configurations | No | `True`, `False` |
| **Qase Report mode configuration** |
| Local path to store report | `report.connection.path` | `QASE_REPORT_CONNECTION_PATH` | `qase-report-connection-path` | `./build/qase-report` | No | Any string |
| Report format | `report.connection.format` | `QASE_REPORT_CONNECTION_FORMAT` | `qase-report-connection-format` | `json` | No | `json`, `jsonp` |
Expand Down
4 changes: 2 additions & 2 deletions qase-behave/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "qase-behave"
version = "1.1.3"
version = "1.1.4"
description = "Qase Behave Plugin for Qase TestOps and Qase Report"
readme = "README.md"
keywords = ["qase", "behave", "plugin", "testops", "report", "qase reporting", "test observability"]
Expand All @@ -29,7 +29,7 @@ classifiers = [
]
requires-python = ">=3.7"
dependencies = [
"qase-python-commons~=3.5.1",
"qase-python-commons~=3.5.3",
"behave>=1.2.6",
"more_itertools",
]
Expand Down
13 changes: 13 additions & 0 deletions qase-behave/src/qase/behave/formatter.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,19 @@ def __parse_config(userdata) -> ConfigManager:
if 'qase-testops-defect' in userdata:
cfg_mgr.config.testops.set_defect(userdata['qase-testops-defect'])

if 'qase-testops-configurations-values' in userdata:
# Parse configurations from userdata
# Format: "group1=value1,group2=value2"
config_pairs = userdata['qase-testops-configurations-values'].split(',')
for pair in config_pairs:
if '=' in pair:
name, config_value = pair.split('=', 1)
cfg_mgr.config.testops.configurations.add_value(name.strip(), config_value.strip())

if 'qase-testops-configurations-create-if-not-exists' in userdata:
cfg_mgr.config.testops.configurations.set_create_if_not_exists(
userdata['qase-testops-configurations-create-if-not-exists'])

if 'qase-report-driver' in userdata:
cfg_mgr.config.report.set_driver(userdata['qase-report-driver'])

Expand Down
43 changes: 38 additions & 5 deletions qase-pytest/changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
# qase-pytest 6.3.5

## What's new

- Added support for test run configurations. You can now specify configurations when creating test runs.
- Configurations can be specified in `qase.config.json`, environment variables, or CLI parameters.
- Support for automatic creation of configurations if they don't exist (controlled by `createIfNotExists` option).

Example configuration:

```json
{
"testops": {
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
}
}
```

Environment variable format: `QASE_TESTOPS_CONFIGURATIONS_VALUES="browser=chrome,environment=staging"`
CLI parameter format: `--qase-testops-configurations-values="browser=chrome,environment=staging"`

# qase-pytest 6.3.4

## What's new
Expand Down Expand Up @@ -132,11 +165,11 @@ environment variables:
"framework": {
"pytest": {
"captureLogs": true,
+ "xfailStatus": {
+ "xfail": "skipped",
+ "xpass": "passed"
+ }
+ }
"xfailStatus": {
"xfail": "skipped",
"xpass": "passed"
}
}
}
}
```
Expand Down
2 changes: 2 additions & 0 deletions qase-pytest/docs/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ and command line options override both other values.
| Batch size for uploading test results | `testops.batch.size` | `QASE_TESTOPS_BATCH_SIZE` | `--qase-testops-batch-size` | 200 | No | 1 to 2000 |
| Create defects in Qase | `testops.defect` | `QASE_TESTOPS_DEFECT` | `--qase-testops-defect` | `False`, don't create defects | No | `True`, `False` |
| Test run tags | `testops.run.tags` | `QASE_TESTOPS_RUN_TAGS` | `--qase-testops-run-tags` | None, don't add any tags | No | Comma-separated list of tags |
| Test run configurations | `testops.configurations.values` | `QASE_TESTOPS_CONFIGURATIONS_VALUES` | `--qase-testops-configurations-values` | None, don't add any configurations | No | Format: "group1=value1,group2=value2" |
| Create configurations if not exists | `testops.configurations.createIfNotExists` | `QASE_TESTOPS_CONFIGURATIONS_CREATE_IF_NOT_EXISTS` | `--qase-testops-configurations-create-if-not-exists` | `False`, don't create configurations | No | `True`, `False` |
| **Qase Report mode configuration** |
| Local path to store report | `report.connection.path` | `QASE_REPORT_CONNECTION_PATH` | `--qase-report-connection-path` | `./build/qase-report` | No | Any string |
| Report format | `report.connection.format` | `QASE_REPORT_CONNECTION_FORMAT` | `--qase-report-connection-format` | `json` | No | `json`, `jsonp` |
Expand Down
4 changes: 2 additions & 2 deletions qase-pytest/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "qase-pytest"
version = "6.3.4"
version = "6.3.5"
description = "Qase Pytest Plugin for Qase TestOps and Qase Report"
readme = "README.md"
keywords = ["qase", "pytest", "plugin", "testops", "report", "qase reporting", "test observability"]
Expand All @@ -29,7 +29,7 @@ classifiers = [
]
requires-python = ">=3.7"
dependencies = [
"qase-python-commons~=3.5.0",
"qase-python-commons~=3.5.3",
"pytest>=7.4.4",
"filelock~=3.12.2",
"more_itertools",
Expand Down
13 changes: 13 additions & 0 deletions qase-pytest/src/qase/pytest/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,19 @@ def setup_config_manager(config):
config_manager.config.framework.pytest.xfail_status.set_xpass(
config.option.__dict__[option])

if option == "qase_testops_configurations_values" and config.option.__dict__[option] is not None:
# Parse configurations from CLI parameter
# Format: "group1=value1,group2=value2"
config_pairs = config.option.__dict__[option].split(',')
for pair in config_pairs:
if '=' in pair:
name, config_value = pair.split('=', 1)
config_manager.config.testops.configurations.add_value(name.strip(), config_value.strip())

if option == "qase_testops_configurations_create_if_not_exists" and config.option.__dict__[option] is not None:
config_manager.config.testops.configurations.set_create_if_not_exists(
config.option.__dict__[option])

return config_manager


Expand Down
17 changes: 17 additions & 0 deletions qase-pytest/src/qase/pytest/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,23 @@ def addoptions(parser, group):
help="Create defect if test failed"
)

QasePytestOptions.add_option(
parser,
group,
"--qase-testops-configurations-values",
dest="qase_testops_configurations_values",
help="Configurations for test run. Format: 'group1=value1,group2=value2'"
)

QasePytestOptions.add_option(
parser,
group,
"--qase-testops-configurations-create-if-not-exists",
dest="qase_testops_configurations_create_if_not_exists",
type="bool",
help="Create configurations if they don't exist. Default: false"
)

QasePytestOptions.add_option(
parser,
group,
Expand Down
62 changes: 62 additions & 0 deletions qase-robotframework/changelog.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,72 @@
# qase-robotframework 3.4.4

## What's new

- Added support for test run configurations. You can now specify configurations when creating test runs.
- Configurations can be specified in `qase.config.json` or environment variables.
- Support for automatic creation of configurations if they don't exist (controlled by `createIfNotExists` option).

Example configuration:
```json
{
"testops": {
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
}
}
```

Environment variable format: `QASE_TESTOPS_CONFIGURATIONS_VALUES="browser=chrome,environment=staging"`

# qase-robotframework 3.4.3

## What's new

- Added support for test run tags.
- Added support for excluding parameters from test results.

# qase-robotframework 3.4.4

## What's new

- Added support for test run configurations. You can now specify configurations when creating test runs.
- Configurations can be specified in `qase.config.json` or environment variables.
- Support for automatic creation of configurations if they don't exist (controlled by `createIfNotExists` option).

Example configuration:
```json
{
"testops": {
"configurations": {
"values": [
{
"name": "browser",
"value": "chrome"
},
{
"name": "environment",
"value": "staging"
}
],
"createIfNotExists": true
}
}
}
```

Environment variable format: `QASE_TESTOPS_CONFIGURATIONS_VALUES="browser=chrome,environment=staging"`

# qase-robotframework 3.4.2

## What's new
Expand Down
2 changes: 2 additions & 0 deletions qase-robotframework/docs/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ Environment variables override the values given in the config file.
| Batch size for uploading test results | `testops.batch.size` | `QASE_TESTOPS_BATCH_SIZE` | 200 | No | 1 to 2000 |
| Create defects in Qase | `testops.defect` | `QASE_TESTOPS_DEFECT` | `False`, don't create defects | No | `True`, `False` |
| Test run tags | `testops.run.tags` | `QASE_TESTOPS_RUN_TAGS` | None, don't add any tags | No | Comma-separated list of tags |
| Test run configurations | `testops.configurations.values` | `QASE_TESTOPS_CONFIGURATIONS_VALUES` | None, don't add any configurations | No | Format: "group1=value1,group2=value2" |
| Create configurations if not exists | `testops.configurations.createIfNotExists` | `QASE_TESTOPS_CONFIGURATIONS_CREATE_IF_NOT_EXISTS` | `False`, don't create configurations | No | `True`, `False` |
| **Qase Report mode configuration** |
| Local path to store report | `report.connection.path` | `QASE_REPORT_CONNECTION_PATH` | `./build/qase-report` | No | Any string |
| Report format | `report.connection.format` | `QASE_REPORT_CONNECTION_FORMAT` | `json` | No | `json`, `jsonp` |
Expand Down
4 changes: 2 additions & 2 deletions qase-robotframework/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "qase-robotframework"
version = "3.4.3"
version = "3.4.4"
description = "Qase Robot Framework Plugin"
readme = "README.md"
authors = [{name = "Qase Team", email = "support@qase.io"}]
Expand All @@ -17,7 +17,7 @@ classifiers = [
urls = {"Homepage" = "https://github.com/qase-tms/qase-python/tree/main/qase-robotframework"}
requires-python = ">=3.7"
dependencies = [
"qase-python-commons~=3.5.0",
"qase-python-commons~=3.5.3",
"filelock~=3.12.2",
]

Expand Down
Loading