AFAIK this is not possible in WDIO + CucumberJS
You provide a tag expression with tags that need to match/not match and WDIO only runs the tests that match the tag expression. You can skip tests with this https://webdriver.io/docs/frameworks/#skipping-tests-in-cucumber
But then those tests are not reported in WDIO, only the tests that match.
More info can also be found in this thread webdriverio/webdriverio#7327
i.e if I generate a report like so with the custom metadata properties "app" and "type" like so
report.generate({
jsonDir: cucumberJsonDir,
reportPath: htmlReportDir,
displayDuration: true,
useCDN: true,
pageTitle: 'Hello World E2E',
reportName: `Hello World E2E - ${new Date().toLocaleString()}`,
customMetadata: true,
metadata: [
{name: 'app', value: 'Hello World'},
{name: 'type', value: 'Test type v1'},
],
customData: {
title: 'Run info',
data: [
{ label: 'Project', value: 'Study Builder E2E' },
{ label: 'Release', value: '1' },
{
label: 'Execution Start Time',
value: `${new Date().toLocaleString()}`
},
{
label: 'Execution End Time',
value: `${new Date().toLocaleString()}`
}
]
}
});
could I overwrite the "app" and "type" metadata properties for the individual report in it's json like so
[
{
"keyword": "Feature",
"name": "Hello-Integration",
"line": 1,
"id": "hello-integration",
"tags": [],
"uri": "hello-integration.feature",
"metadata": {
"app" : "Hello world",
"type": "Test type v2"
},
"elements": [
...