There is a general mechanism used by Allure adapters to run tests selectively. It uses a test plan - a .json file with the following schema:
{
"type": "object",
"properties": {
"tests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"selector": { "type": "string" }
}
}
}
}
}
A path to a test plan is provided as a value of the ALLURE_TESTPLAN_PATH environment variable.
If a valid test plan file is provided, only matched tests should be run. A test is matched if there is at least one entry in the tests array, such that:
- If the
id property is present in the entry AND the test has an Allure ID (added via the allure_id or as_id label), the id property must be the same as the Allure ID of the test, OR
- If the
selector property is present in the entry, it must be the same as the test's fullName.
Motivation
Test plan support allows selective runs from TMS (e.g., TestOps). Ideally, the mechanism should be supported by all Allure adapters.