@wdio/cli 8.0.0-alpha.411 → 8.0.0-alpha.504
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commands/config.js +4 -4
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +5 -4
- package/build/constants.d.ts +7 -1
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +1 -0
- package/build/interface.d.ts +1 -1
- package/build/interface.d.ts.map +1 -1
- package/build/interface.js +11 -5
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +13 -7
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +12 -5
- package/package.json +9 -11
package/build/commands/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
1
2
|
import path from 'node:path';
|
|
2
3
|
import util from 'node:util';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
4
|
import inquirer from 'inquirer';
|
|
5
5
|
import yarnInstall from 'yarn-install';
|
|
6
6
|
import { CONFIG_HELPER_INTRO, CLI_EPILOGUE, COMPILER_OPTIONS, TS_COMPILER_INSTRUCTIONS, SUPPORTED_PACKAGES, CONFIG_HELPER_SUCCESS_MESSAGE, DEPENDENCIES_INSTALLATION_MESSAGE, pkg } from '../constants.js';
|
|
@@ -82,8 +82,8 @@ const runConfig = async function (useYarn, yes, exit = false) {
|
|
|
82
82
|
target: 'es2019',
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
|
-
fs.
|
|
86
|
-
await fs.
|
|
85
|
+
await fs.mkdir(path.join(process.cwd(), 'test'), { recursive: true });
|
|
86
|
+
await fs.writeFile(parsedAnswers.tsConfigFilePath, JSON.stringify(config, null, 4));
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* add @babel/register package if not installed
|
|
@@ -102,7 +102,7 @@ const runConfig = async function (useYarn, yes, exit = false) {
|
|
|
102
102
|
if (!hasPackage('@babel/preset-env')) {
|
|
103
103
|
packagesToInstall.push('@babel/preset-env');
|
|
104
104
|
}
|
|
105
|
-
await fs.
|
|
105
|
+
await fs.writeFile(path.join(process.cwd(), 'babel.config.js'), `module.exports = ${JSON.stringify({
|
|
106
106
|
presets: [
|
|
107
107
|
['@babel/preset-env', {
|
|
108
108
|
targets: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAUjC,OAAO,KAAK,EAAE,uBAAuB,EAAoB,MAAM,UAAU,CAAA;AASzE,eAAO,MAAM,OAAO,0BAA0B,CAAA;AAC9C,eAAO,MAAM,IAAI,QAIN,CAAA;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI,aAalC,CAAA;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,uBAAuB,iBA0E1D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
2
3
|
import path from 'node:path';
|
|
3
|
-
import fs from 'fs-extra';
|
|
4
4
|
import yarnInstall from 'yarn-install';
|
|
5
5
|
import { replaceConfig, findInConfig, addServiceDeps, convertPackageHashToObject } from '../utils.js';
|
|
6
6
|
import { missingConfigurationPrompt } from './config.js';
|
|
@@ -64,7 +64,8 @@ export async function handler(argv) {
|
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
const localConfPath = path.join(process.cwd(), config);
|
|
67
|
-
|
|
67
|
+
const localConfExists = await fs.access(localConfPath).then(() => true, () => false);
|
|
68
|
+
if (!localConfExists) {
|
|
68
69
|
try {
|
|
69
70
|
const promptMessage = `Cannot install packages without a WebdriverIO configuration.
|
|
70
71
|
You can create one by running 'wdio config'`;
|
|
@@ -75,7 +76,7 @@ You can create one by running 'wdio config'`;
|
|
|
75
76
|
return;
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
const configFile = fs.
|
|
79
|
+
const configFile = await fs.readFile(localConfPath, { encoding: 'utf-8' });
|
|
79
80
|
const match = findInConfig(configFile, type);
|
|
80
81
|
if (match && match[0].includes(name)) {
|
|
81
82
|
console.log(`The ${type} ${name} is already part of your configuration.`);
|
|
@@ -97,7 +98,7 @@ You can create one by running 'wdio config'`;
|
|
|
97
98
|
if (!newConfig) {
|
|
98
99
|
throw new Error(`Couldn't find "${type}" property in ${path.basename(localConfPath)}`);
|
|
99
100
|
}
|
|
100
|
-
fs.
|
|
101
|
+
await fs.writeFile(localConfPath, newConfig, { encoding: 'utf-8' });
|
|
101
102
|
console.log('Your wdio.conf.js file has been updated.');
|
|
102
103
|
process.exit(0);
|
|
103
104
|
}
|
package/build/constants.d.ts
CHANGED
|
@@ -217,6 +217,9 @@ export declare const SUPPORTED_PACKAGES: {
|
|
|
217
217
|
}, {
|
|
218
218
|
readonly name: "azure-devops";
|
|
219
219
|
readonly value: "@gmangiapelo/wdio-azure-devops-service$--$azure-devops";
|
|
220
|
+
}, {
|
|
221
|
+
readonly name: "google-Chat";
|
|
222
|
+
readonly value: "wdio-google-chat-service";
|
|
220
223
|
}, {
|
|
221
224
|
readonly name: "qmate-service";
|
|
222
225
|
readonly value: "@sap_oss/wdio-qmate-service--$qmate-service";
|
|
@@ -522,11 +525,14 @@ export declare const QUESTIONNAIRE: ({
|
|
|
522
525
|
}, {
|
|
523
526
|
readonly name: "azure-devops";
|
|
524
527
|
readonly value: "@gmangiapelo/wdio-azure-devops-service$--$azure-devops";
|
|
528
|
+
}, {
|
|
529
|
+
readonly name: "google-Chat";
|
|
530
|
+
readonly value: "wdio-google-chat-service";
|
|
525
531
|
}, {
|
|
526
532
|
readonly name: "qmate-service";
|
|
527
533
|
readonly value: "@sap_oss/wdio-qmate-service--$qmate-service";
|
|
528
534
|
}];
|
|
529
|
-
default: ("wdio-chromedriver-service$--$chromedriver" | "wdio-geckodriver-service$--$geckodriver" | "wdio-edgedriver-service$--$edgedriver" | "@wdio/sauce-service$--$sauce" | "@wdio/testingbot-service$--$testingbot" | "@wdio/selenium-standalone-service$--$selenium-standalone" | "wdio-vscode-service$--$vscode" | "wdio-electron-service$--$electron" | "@wdio/devtools-service$--$devtools" | "@wdio/browserstack-service$--$browserstack" | "@wdio/appium-service$--$appium" | "@wdio/firefox-profile-service$--$firefox-profile" | "@wdio/crossbrowsertesting-service$--$crossbrowsertesting" | "wdio-eslinter-service$--$eslinter" | "wdio-lambdatest-service$--$lambdatest" | "wdio-zafira-listener-service$--$zafira-listener" | "wdio-reportportal-service$--$reportportal" | "wdio-docker-service$--$docker" | "wdio-ui5-service$--$ui5" | "wdio-wiremock-service$--$wiremock" | "wdio-ng-apimock-service$--ng-apimock" | "wdio-slack-service$--$slack" | "wdio-cucumber-viewport-logger-service$--$cucumber-viewport-logger" | "wdio-intercept-service$--$intercept" | "wdio-image-comparison-service$--$image-comparison" | "wdio-novus-visual-regression-service$--$novus-visual-regression" | "wdio-rerun-service$--$rerun" | "wdio-winappdriver-service$--$winappdriver" | "wdio-ywinappdriver-service$--$ywinappdriver" | "wdio-performancetotal-service$--$performancetotal" | "wdio-cleanuptotal-service$--$cleanuptotal" | "wdio-aws-device-farm-service$--$aws-device-farm" | "wdio-ocr-service$--$ocr-native-apps" | "wdio-ms-teams-service$--$ms-teams" | "wdio-tesults-service$--$tesults" | "@gmangiapelo/wdio-azure-devops-service$--$azure-devops" | "@sap_oss/wdio-qmate-service--$qmate-service")[];
|
|
535
|
+
default: ("wdio-chromedriver-service$--$chromedriver" | "wdio-geckodriver-service$--$geckodriver" | "wdio-edgedriver-service$--$edgedriver" | "@wdio/sauce-service$--$sauce" | "@wdio/testingbot-service$--$testingbot" | "@wdio/selenium-standalone-service$--$selenium-standalone" | "wdio-vscode-service$--$vscode" | "wdio-electron-service$--$electron" | "@wdio/devtools-service$--$devtools" | "@wdio/browserstack-service$--$browserstack" | "@wdio/appium-service$--$appium" | "@wdio/firefox-profile-service$--$firefox-profile" | "@wdio/crossbrowsertesting-service$--$crossbrowsertesting" | "wdio-eslinter-service$--$eslinter" | "wdio-lambdatest-service$--$lambdatest" | "wdio-zafira-listener-service$--$zafira-listener" | "wdio-reportportal-service$--$reportportal" | "wdio-docker-service$--$docker" | "wdio-ui5-service$--$ui5" | "wdio-wiremock-service$--$wiremock" | "wdio-ng-apimock-service$--ng-apimock" | "wdio-slack-service$--$slack" | "wdio-cucumber-viewport-logger-service$--$cucumber-viewport-logger" | "wdio-intercept-service$--$intercept" | "wdio-image-comparison-service$--$image-comparison" | "wdio-novus-visual-regression-service$--$novus-visual-regression" | "wdio-rerun-service$--$rerun" | "wdio-winappdriver-service$--$winappdriver" | "wdio-ywinappdriver-service$--$ywinappdriver" | "wdio-performancetotal-service$--$performancetotal" | "wdio-cleanuptotal-service$--$cleanuptotal" | "wdio-aws-device-farm-service$--$aws-device-farm" | "wdio-ocr-service$--$ocr-native-apps" | "wdio-ms-teams-service$--$ms-teams" | "wdio-tesults-service$--$tesults" | "@gmangiapelo/wdio-azure-devops-service$--$azure-devops" | "wdio-google-chat-service" | "@sap_oss/wdio-qmate-service--$qmate-service")[];
|
|
530
536
|
validate: (answers: string[]) => string | Boolean;
|
|
531
537
|
when?: undefined;
|
|
532
538
|
} | {
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,wFAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,iHAIzC,CAAA;AAED,eAAO,MAAM,iCAAiC,8CAG7C,CAAA;AAED,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAED,eAAO,MAAM,UAAU;;;;CAItB,CAAA;AAED,eAAO,MAAM,uBAAuB,iGAI1B,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV,eAAO,MAAM,wBAAwB,gQAQpC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,wFAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,iHAIzC,CAAA;AAED,eAAO,MAAM,iCAAiC,8CAG7C,CAAA;AAED,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAED,eAAO,MAAM,UAAU;;;;CAItB,CAAA;AAED,eAAO,MAAM,uBAAuB,iGAI1B,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV,eAAO,MAAM,wBAAwB,gQAQpC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ErB,CAAA;AAEV,eAAO,MAAM,kCAAkC,UAG9C,CAAA;AAED,eAAO,MAAM,eAAe,0NAMlB,CAAA;AAEV,eAAO,MAAM,gBAAgB,4BAGnB,CAAA;AAEV,eAAO,MAAM,aAAa,+BAIhB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;oBAgBqB,YAAY;;;;;;;;;oBAMZ,YAAY;;;;;;;;;oBAyBZ,YAAY;;;;;;;oBAkDZ,YAAY;;;;;;;;oBAMZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsCpC,YAAY;oBACY,YAAY;;;;;;;uBAWpC,YAAY;oBACY,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgDR,MAAM,EAAE;;;;;;;;;;IA6BzD,CAAA"}
|
package/build/constants.js
CHANGED
|
@@ -132,6 +132,7 @@ export const SUPPORTED_PACKAGES = {
|
|
|
132
132
|
{ name: 'ms-teams', value: 'wdio-ms-teams-service$--$ms-teams' },
|
|
133
133
|
{ name: 'tesults', value: 'wdio-tesults-service$--$tesults' },
|
|
134
134
|
{ name: 'azure-devops', value: '@gmangiapelo/wdio-azure-devops-service$--$azure-devops' },
|
|
135
|
+
{ name: 'google-Chat', value: 'wdio-google-chat-service' },
|
|
135
136
|
{ name: 'qmate-service', value: '@sap_oss/wdio-qmate-service--$qmate-service' }
|
|
136
137
|
]
|
|
137
138
|
};
|
package/build/interface.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ export default class WDIOCLInterface extends EventEmitter {
|
|
|
67
67
|
/**
|
|
68
68
|
* event handler that is triggered when runner sends up events
|
|
69
69
|
*/
|
|
70
|
-
onMessage(event: CLIInterfaceEvent): boolean |
|
|
70
|
+
onMessage(event: CLIInterfaceEvent): boolean | any[] | undefined;
|
|
71
71
|
sigintTrigger(): false | any[];
|
|
72
72
|
printReporters(): void;
|
|
73
73
|
printSummary(): any[];
|
package/build/interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjE,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjE,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAA;AAKrD,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,iBAAiB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;IAyBjD,OAAO,CAAC,OAAO;IACR,cAAc,EAAE,MAAM;IAC7B,OAAO,CAAC,YAAY;IA1BjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM;;;;;MAKZ;IAED,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,qBAAqB,CAAQ;IAErC,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAMZ;gBAGO,OAAO,EAAE,OAAO,CAAC,UAAU,EAC5B,cAAc,EAAE,MAAM,EACrB,YAAY,UAAQ;IAuBhC,KAAK;IAqBL,OAAO;IAWP,aAAa,CAAE,GAAG,EAAE,MAAM;IAI1B,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAKxD,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAIvD,aAAa,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAI1D,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAI1C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI,EAAE,OAAO,SAAK,EAAE,OAAO,GAAE,QAAmB;IAYrG,WAAW,CAAE,OAAO,EAAE,iBAAiB;IAUvC,YAAY,CAAE,KAAK,GAAE,MAAM,EAAO;IAOlC;;OAEG;IACH,MAAM,CAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,GAAG,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IASrE;;OAEG;IACH,QAAQ,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IA2BrF;;OAEG;IACH,GAAG,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMnB,YAAY,CAAE,KAAK,EAAE,SAAS;IAI9B;;OAEG;IACH,SAAS,CAAE,KAAK,EAAE,iBAAiB;IAsDnC,aAAa;IAgBb,cAAc;IAYd,YAAY;IAaZ,QAAQ;CAQX"}
|
package/build/interface.js
CHANGED
|
@@ -3,6 +3,7 @@ import chalk, { supportsColor } from 'chalk';
|
|
|
3
3
|
import logger from '@wdio/logger';
|
|
4
4
|
import { getRunnerName } from './utils.js';
|
|
5
5
|
const log = logger('@wdio/cli');
|
|
6
|
+
const EVENT_FILTER = ['sessionStarted', 'sessionEnded', 'finisedCommand'];
|
|
6
7
|
export default class WDIOCLInterface extends EventEmitter {
|
|
7
8
|
_config;
|
|
8
9
|
totalWorkerCnt;
|
|
@@ -167,6 +168,8 @@ export default class WDIOCLInterface extends EventEmitter {
|
|
|
167
168
|
* event handler that is triggered when runner sends up events
|
|
168
169
|
*/
|
|
169
170
|
onMessage(event) {
|
|
171
|
+
// let a = true
|
|
172
|
+
// if (a) return
|
|
170
173
|
if (event.name === 'reporterRealTime') {
|
|
171
174
|
this.log(event.content);
|
|
172
175
|
return;
|
|
@@ -183,13 +186,16 @@ export default class WDIOCLInterface extends EventEmitter {
|
|
|
183
186
|
if (event.name === 'testFrameworkInit') {
|
|
184
187
|
return this.emit('job:start', event.content);
|
|
185
188
|
}
|
|
186
|
-
if (
|
|
187
|
-
return log.
|
|
188
|
-
}
|
|
189
|
-
if (event.origin === 'worker' && event.name === 'error') {
|
|
190
|
-
return this.log(`[${event.cid}]`, chalk.white.bgRed.bold(' Error: '), event.content.message || event.content.stack || event.content);
|
|
189
|
+
if (event.name === 'error') {
|
|
190
|
+
return this.log(`[${event.cid}]`, chalk.white.bgRed.bold(' Error: '), event.content ? (event.content.message || event.content.stack || event.content) : '');
|
|
191
191
|
}
|
|
192
192
|
if (event.origin !== 'reporter' && event.origin !== 'debugger') {
|
|
193
|
+
/**
|
|
194
|
+
* filter certain events though
|
|
195
|
+
*/
|
|
196
|
+
if (EVENT_FILTER.includes(event.name)) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
193
199
|
return this.log(event.cid, event.origin, event.name, event.content);
|
|
194
200
|
}
|
|
195
201
|
if (event.name === 'printFailureMessage') {
|
package/build/launcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAkBlD,UAAU,UAAU;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAiBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAlBjB,YAAY,eAAqB;IACjC,aAAa,UAAQ;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,WAAW,CAAA;IAE9B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;gBAGf,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,OAAO,CAAC,mBAAmB,CAAM,EACxC,YAAY,UAAQ;IAUhC;;;OAGG;IACG,GAAG;
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAkBlD,UAAU,UAAU;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAiBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAlBjB,YAAY,eAAqB;IACjC,aAAa,UAAQ;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,WAAW,CAAA;IAE9B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;gBAGf,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,OAAO,CAAC,mBAAmB,CAAM,EACxC,YAAY,UAAQ;IAUhC;;;OAGG;IACG,GAAG;IAgGT;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyEtG;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,MAAM;;;;IAetJ;;;OAGG;IACH,QAAQ;IAmER;;;OAGG;IACH,2BAA2B;IAI3B;;;OAGG;IACH,oBAAoB;IAIpB;;;;;;OAMG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,EAC5G,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM;IAyFnB,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM;IAOxB;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU;IAkDnE;;;;;OAKG;IACH,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI;IAc7C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B;AAED,eAAe,QAAQ,CAAA"}
|
package/build/launcher.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
1
2
|
import path from 'node:path';
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
3
|
import exitHook from 'async-exit-hook';
|
|
4
4
|
import logger from '@wdio/logger';
|
|
5
5
|
import { ConfigParser } from '@wdio/config';
|
|
@@ -51,7 +51,7 @@ class Launcher {
|
|
|
51
51
|
const capabilities = this.configParser.getCapabilities();
|
|
52
52
|
this.isMultiremote = !Array.isArray(capabilities);
|
|
53
53
|
if (config.outputDir) {
|
|
54
|
-
fs.
|
|
54
|
+
await fs.mkdir(path.join(config.outputDir), { recursive: true });
|
|
55
55
|
process.env.WDIO_LOG_PATH = path.join(config.outputDir, 'wdio.log');
|
|
56
56
|
}
|
|
57
57
|
logger.setLogLevelsConfig(config.logLevels, config.logLevel);
|
|
@@ -62,8 +62,9 @@ class Launcher {
|
|
|
62
62
|
: 1;
|
|
63
63
|
this.interface = new CLInterface(config, totalWorkerCnt, this._isWatchMode);
|
|
64
64
|
config.runnerEnv.FORCE_COLOR = Number(this.interface.hasAnsiSupport);
|
|
65
|
-
const
|
|
66
|
-
|
|
65
|
+
const [runnerName, runnerOptions] = Array.isArray(config.runner) ? config.runner : [config.runner, {}];
|
|
66
|
+
const Runner = (await initialisePlugin(runnerName, 'runner')).default;
|
|
67
|
+
this.runner = new Runner(runnerOptions, config);
|
|
67
68
|
/**
|
|
68
69
|
* catches ctrl+c event
|
|
69
70
|
*/
|
|
@@ -155,11 +156,17 @@ class Launcher {
|
|
|
155
156
|
* Regular mode
|
|
156
157
|
*/
|
|
157
158
|
for (let capabilities of caps) {
|
|
159
|
+
/**
|
|
160
|
+
* when using browser runner we only allow one session per browser
|
|
161
|
+
*/
|
|
162
|
+
const availableInstances = config.runner === 'browser'
|
|
163
|
+
? 1
|
|
164
|
+
: capabilities.maxInstances || config.maxInstancesPerCapability;
|
|
158
165
|
this._schedule.push({
|
|
159
166
|
cid: cid++,
|
|
160
167
|
caps: capabilities,
|
|
161
168
|
specs: this.formatSpecs(capabilities, specFileRetries),
|
|
162
|
-
availableInstances
|
|
169
|
+
availableInstances,
|
|
163
170
|
runningInstances: 0
|
|
164
171
|
});
|
|
165
172
|
}
|
|
@@ -185,8 +192,7 @@ class Launcher {
|
|
|
185
192
|
* Format the specs into an array of objects with files and retries
|
|
186
193
|
*/
|
|
187
194
|
formatSpecs(capabilities, specFileRetries) {
|
|
188
|
-
|
|
189
|
-
files = this.configParser.getSpecs(capabilities.specs, capabilities.exclude);
|
|
195
|
+
const files = this.configParser.getSpecs(capabilities.specs, capabilities.exclude);
|
|
190
196
|
return files.map(file => {
|
|
191
197
|
if (typeof file === 'string') {
|
|
192
198
|
return { files: [file], retries: specFileRetries };
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAUpH,qBAAa,SAAU,SAAQ,kBAAkB;IACtC,MAAM,EAAE,MAAM,CAAA;gBACT,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI9C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAChC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,EACpC,QAAQ,EAAE,MAAM,QAAQ,CAAC,aAAa,EACtC,GAAG,IAAI,EAAE,GAAG,EAAE,sBA2BjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,yBAmBhF;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACnC,cAAc,EAAE,QAAQ,GAAG,QAAQ,EAAE,EACrC,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,sBAkB5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,IAAI,GAAE,YAAY,CAAC,mBAAwB,UAkBzE;AAoBD,wBAAgB,YAAY,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,2BASzD;AAED,wBAAgB,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAYxE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,UAAQ,QAmC3F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,GAAG,gBAAgB,CAMvF;AAED,wBAAsB,uBAAuB,CAAE,OAAO,EAAE,aAAa,iBAWpE;AAED,eAAO,MAAM,sBAAsB,YAAa,MAAM,EAAE,KAAG,OAAO,GAAG,MAgBpE,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDxD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAE,QAAQ,EAAE,MAAM,WAOxC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,WActC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,aAAa,iBA6B9D;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2BpE;AAED,wBAAgB,wBAAwB,CAAE,OAAO,EAAE,YAAY;;;;;EA+B9D;AAED,wBAAgB,eAAe,CAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,UAIhF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,YAgBnF"}
|
package/build/utils.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import fsSync from 'node:fs';
|
|
1
3
|
import { dirname } from 'node:path';
|
|
2
4
|
import { fileURLToPath } from 'node:url';
|
|
3
5
|
import { createRequire } from 'node:module';
|
|
4
6
|
import { execSync } from 'node:child_process';
|
|
5
7
|
import { promisify } from 'node:util';
|
|
6
|
-
import fs from 'fs-extra';
|
|
7
8
|
import ejs from 'ejs';
|
|
8
9
|
import path from 'node:path';
|
|
9
10
|
import inquirer from 'inquirer';
|
|
@@ -197,7 +198,7 @@ export async function renderConfigurationFile(answers) {
|
|
|
197
198
|
const tplPath = path.join(__dirname, 'templates/wdio.conf.tpl.ejs');
|
|
198
199
|
const filename = `wdio.conf.${answers.isUsingTypeScript ? 'ts' : 'js'}`;
|
|
199
200
|
const renderedTpl = await renderFile(tplPath, { answers });
|
|
200
|
-
return fs.
|
|
201
|
+
return fs.writeFile(path.join(process.cwd(), answers.isUsingTypeScript ? 'test' : '', filename), renderedTpl);
|
|
201
202
|
}
|
|
202
203
|
export const validateServiceAnswers = (answers) => {
|
|
203
204
|
let result = true;
|
|
@@ -267,7 +268,13 @@ export function getCapabilities(arg) {
|
|
|
267
268
|
* @param {string} filename to check existance for
|
|
268
269
|
*/
|
|
269
270
|
export function hasFile(filename) {
|
|
270
|
-
|
|
271
|
+
try {
|
|
272
|
+
fsSync.accessSync(path.join(process.cwd(), filename));
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
catch (err) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
271
278
|
}
|
|
272
279
|
/**
|
|
273
280
|
* Check if package is installed
|
|
@@ -309,8 +316,8 @@ export async function generateTestFiles(answers) {
|
|
|
309
316
|
: file.includes('step_definition')
|
|
310
317
|
? `${answers.stepDefinitions}`
|
|
311
318
|
: `${answers.destSpecRootPath}/${path.basename(file)}`).replace(/\.ejs$/, '').replace(/\.js$/, answers.isUsingTypeScript ? '.ts' : '.js');
|
|
312
|
-
fs.
|
|
313
|
-
await fs.
|
|
319
|
+
await fs.mkdir(path.dirname(destPath), { recursive: true });
|
|
320
|
+
await fs.writeFile(destPath, renderedTpl);
|
|
314
321
|
}
|
|
315
322
|
}
|
|
316
323
|
export async function getAnswers(yes) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/cli",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.504+428a9d729",
|
|
4
4
|
"description": "WebdriverIO testrunner command line interface",
|
|
5
5
|
"author": "Christian Bromann <mail@bromann.dev>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-cli",
|
|
@@ -34,32 +34,30 @@
|
|
|
34
34
|
"typeScriptVersion": "3.8.3",
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@types/ejs": "^3.1.1",
|
|
37
|
-
"@types/fs-extra": "^9.0.13",
|
|
38
37
|
"@types/inquirer": "^9.0.0",
|
|
39
38
|
"@types/lodash.flattendeep": "^4.4.7",
|
|
40
39
|
"@types/lodash.pickby": "^4.6.7",
|
|
41
40
|
"@types/lodash.union": "^4.6.7",
|
|
42
41
|
"@types/recursive-readdir": "^2.2.1",
|
|
43
42
|
"@types/yargs": "^17.0.10",
|
|
44
|
-
"@wdio/config": "8.0.0-alpha.
|
|
45
|
-
"@wdio/globals": "8.0.0-alpha.
|
|
46
|
-
"@wdio/logger": "8.0.0-alpha.
|
|
47
|
-
"@wdio/protocols": "8.0.0-alpha.
|
|
48
|
-
"@wdio/types": "8.0.0-alpha.
|
|
49
|
-
"@wdio/utils": "8.0.0-alpha.
|
|
43
|
+
"@wdio/config": "8.0.0-alpha.504+428a9d729",
|
|
44
|
+
"@wdio/globals": "8.0.0-alpha.504+428a9d729",
|
|
45
|
+
"@wdio/logger": "8.0.0-alpha.504+428a9d729",
|
|
46
|
+
"@wdio/protocols": "8.0.0-alpha.504+428a9d729",
|
|
47
|
+
"@wdio/types": "8.0.0-alpha.504+428a9d729",
|
|
48
|
+
"@wdio/utils": "8.0.0-alpha.504+428a9d729",
|
|
50
49
|
"async-exit-hook": "^2.0.1",
|
|
51
50
|
"chalk": "^5.0.1",
|
|
52
51
|
"chokidar": "^3.5.3",
|
|
53
52
|
"cli-spinners": "^2.6.1",
|
|
54
53
|
"ejs": "^3.1.8",
|
|
55
|
-
"fs-extra": "^10.1.0",
|
|
56
54
|
"inquirer": "9.1.2",
|
|
57
55
|
"lodash.flattendeep": "^4.4.0",
|
|
58
56
|
"lodash.pickby": "^4.6.0",
|
|
59
57
|
"lodash.union": "^4.6.0",
|
|
60
58
|
"mkdirp": "^1.0.4",
|
|
61
59
|
"recursive-readdir": "^2.2.2",
|
|
62
|
-
"webdriverio": "8.0.0-alpha.
|
|
60
|
+
"webdriverio": "8.0.0-alpha.504+428a9d729",
|
|
63
61
|
"yargs": "^17.5.1",
|
|
64
62
|
"yarn-install": "^1.0.0"
|
|
65
63
|
},
|
|
@@ -69,5 +67,5 @@
|
|
|
69
67
|
"devDependencies": {
|
|
70
68
|
"@types/node": "^18.0.0"
|
|
71
69
|
},
|
|
72
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "428a9d729ae6231968a60908732fa3f607d195e9"
|
|
73
71
|
}
|