@wdio/cli 8.8.7 → 8.9.0
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.d.ts.map +1 -1
- package/build/commands/config.js +2 -1
- package/build/constants.d.ts +8 -8
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +36 -17
- package/build/templates/reporters.ejs +8 -8
- package/build/templates/wdio.conf.tpl.ejs +18 -13
- package/build/types.d.ts +1 -0
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +1 -0
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +21 -2
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIxE,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,IAAI,4EAA4E,CAAA;AAE7F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAkBV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI;;;;;;;;;;;;;;;;;;GAKlC,CAAA;AAED,eAAO,MAAM,YAAY,QAAwB,OAAO,KAAG,QAAQ,aAAa,CAkF/E,CAAA;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIxE,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,IAAI,4EAA4E,CAAA;AAE7F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAkBV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI;;;;;;;;;;;;;;;;;;GAKlC,CAAA;AAED,eAAO,MAAM,YAAY,QAAwB,OAAO,KAAG,QAAQ,aAAa,CAkF/E,CAAA;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAoBpG;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,sBAAsB,EAAE,YAAY,0BAAmB;;;;GAQ1F;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM;;;GAMzD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,oBAO3D;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,UAAQ,EAAE,YAAY,0BAAmB,8BA4BrI"}
|
package/build/commands/config.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from 'node:path';
|
|
|
3
3
|
import util from 'node:util';
|
|
4
4
|
import inquirer from 'inquirer';
|
|
5
5
|
import { CONFIG_HELPER_INTRO, CLI_EPILOGUE, COMPILER_OPTIONS, SUPPORTED_PACKAGES, CONFIG_HELPER_SUCCESS_MESSAGE } from '../constants.js';
|
|
6
|
-
import { convertPackageHashToObject, getAnswers, getPathForFileGeneration, getProjectProps, getProjectRoot, createPackageJSON, setupTypeScript, setupBabel, npmInstall, createWDIOConfig, createWDIOScript } from '../utils.js';
|
|
6
|
+
import { convertPackageHashToObject, getAnswers, getPathForFileGeneration, getProjectProps, getProjectRoot, createPackageJSON, setupTypeScript, setupBabel, npmInstall, createWDIOConfig, createWDIOScript, runAppiumInstaller } from '../utils.js';
|
|
7
7
|
const hasYarnLock = await fs.access('yarn.lock').then(() => true, () => false);
|
|
8
8
|
export const command = 'config';
|
|
9
9
|
export const desc = 'Initialize WebdriverIO and setup configuration in your current project.';
|
|
@@ -121,6 +121,7 @@ export async function runConfigCommand(parsedAnswers, useYarn, npmTag) {
|
|
|
121
121
|
* print success message
|
|
122
122
|
*/
|
|
123
123
|
console.log(util.format(CONFIG_HELPER_SUCCESS_MESSAGE, parsedAnswers.projectRootDir, parsedAnswers.projectRootDir));
|
|
124
|
+
await runAppiumInstaller(parsedAnswers);
|
|
124
125
|
}
|
|
125
126
|
export async function handler(argv, runConfigCmd = runConfigCommand) {
|
|
126
127
|
const parsedAnswers = await parseAnswers(argv.yes);
|
package/build/constants.d.ts
CHANGED
|
@@ -287,6 +287,14 @@ export declare const QUESTIONNAIRE: ({
|
|
|
287
287
|
when: (answers: Questionnair) => string | false | undefined;
|
|
288
288
|
choices?: undefined;
|
|
289
289
|
validate?: undefined;
|
|
290
|
+
} | {
|
|
291
|
+
type: string;
|
|
292
|
+
name: string;
|
|
293
|
+
message: string;
|
|
294
|
+
default: boolean;
|
|
295
|
+
when: (answers: Questionnair) => boolean;
|
|
296
|
+
choices?: undefined;
|
|
297
|
+
validate?: undefined;
|
|
290
298
|
} | {
|
|
291
299
|
type: string;
|
|
292
300
|
name: string;
|
|
@@ -377,14 +385,6 @@ export declare const QUESTIONNAIRE: ({
|
|
|
377
385
|
when: (answers: Questionnair) => false | RegExpMatchArray | null;
|
|
378
386
|
choices?: undefined;
|
|
379
387
|
validate?: undefined;
|
|
380
|
-
} | {
|
|
381
|
-
type: string;
|
|
382
|
-
name: string;
|
|
383
|
-
message: string;
|
|
384
|
-
default: boolean;
|
|
385
|
-
when: (answers: Questionnair) => boolean;
|
|
386
|
-
choices?: undefined;
|
|
387
|
-
validate?: undefined;
|
|
388
388
|
} | {
|
|
389
389
|
type: string;
|
|
390
390
|
name: string;
|
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,YAAY,CAAA;AAG9C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,8HAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,ucAYzC,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;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFrB,CAAA;AAEV,eAAO,MAAM,gCAAgC;;;;;;IAQ5C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAA;AAED,eAAO,MAAM,eAAe,6OAOlB,CAAA;AAEV,eAAO,MAAM,gBAAgB,4BAGnB,CAAA;AAEV,eAAO,MAAM,aAAa,+BAIhB,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,8HAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,ucAYzC,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;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFrB,CAAA;AAEV,eAAO,MAAM,gCAAgC;;;;;;IAQ5C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAA;AAED,eAAO,MAAM,eAAe,6OAOlB,CAAA;AAEV,eAAO,MAAM,gBAAgB,4BAGnB,CAAA;AAEV,eAAO,MAAM,aAAa,+BAIhB,CAAA;AAMV,iBAAS,eAAe,CAAE,OAAO,EAAE,YAAY,WAE9C;AAcD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAoBqB,YAAY;;;;;;;;oBAYZ,YAAY;;;;;;;uBAKR,YAAY;;;;;;;;oBAchB,YAAY;;;;;;;;;oBAMZ,YAAY;;;;;;;;;oBAyBZ,YAAY;;;;;;;oBAkDZ,YAAY;;;;;;;uBAuBR,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAcb,YAAY;;;;;;;;;;;;;;;uBAUZ,YAAY;oBAIf,YAAY;;;;;;;uBA6BT,YAAY;oBAKf,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqBpC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAWZ,YAAY;wBAUgB,MAAM,EAAE;;IAoCzD,CAAA"}
|
package/build/constants.js
CHANGED
|
@@ -173,9 +173,22 @@ export const REGION_OPTION = [
|
|
|
173
173
|
'eu',
|
|
174
174
|
'apac'
|
|
175
175
|
];
|
|
176
|
+
function isLocalEnvironment(answers) {
|
|
177
|
+
return answers.runner === SUPPORTED_PACKAGES.runner[0].value;
|
|
178
|
+
}
|
|
176
179
|
function isBrowserRunner(answers) {
|
|
177
180
|
return answers.runner === SUPPORTED_PACKAGES.runner[1].value;
|
|
178
181
|
}
|
|
182
|
+
function selectDefaultService(serviceName) {
|
|
183
|
+
return [SUPPORTED_PACKAGES.service.find(
|
|
184
|
+
/* istanbul ignore next */
|
|
185
|
+
({ name }) => name === serviceName)?.value];
|
|
186
|
+
}
|
|
187
|
+
function prioServiceOrderFor(serviceName) {
|
|
188
|
+
const index = SUPPORTED_PACKAGES.service.findIndex(({ name }) => name === serviceName);
|
|
189
|
+
return SUPPORTED_PACKAGES.service.slice(index)
|
|
190
|
+
.concat(SUPPORTED_PACKAGES.service.slice(0, index));
|
|
191
|
+
}
|
|
179
192
|
export const QUESTIONNAIRE = [{
|
|
180
193
|
type: 'list',
|
|
181
194
|
name: 'runner',
|
|
@@ -201,6 +214,12 @@ export const QUESTIONNAIRE = [{
|
|
|
201
214
|
* Only show if Testing Library has an add-on for framework
|
|
202
215
|
*/
|
|
203
216
|
answers.preset && TESTING_LIBRARY_PACKAGES[convertPackageHashToObject(answers.preset).short])
|
|
217
|
+
}, {
|
|
218
|
+
type: 'confirm',
|
|
219
|
+
name: 'setupMobileEnvironment',
|
|
220
|
+
message: 'Would you like to setup Appium for mobile testing?',
|
|
221
|
+
default: false,
|
|
222
|
+
when: /* istanbul ignore next */ (answers) => isLocalEnvironment(answers)
|
|
204
223
|
}, {
|
|
205
224
|
type: 'list',
|
|
206
225
|
name: 'backend',
|
|
@@ -400,32 +419,28 @@ export const QUESTIONNAIRE = [{
|
|
|
400
419
|
message: 'Do you want to add a service to your test setup?',
|
|
401
420
|
choices: (answers) => {
|
|
402
421
|
if (answers.backend === BACKEND_CHOICES[3]) {
|
|
403
|
-
|
|
404
|
-
return SUPPORTED_PACKAGES.service.slice(index)
|
|
405
|
-
.concat(SUPPORTED_PACKAGES.service.slice(0, index));
|
|
422
|
+
return prioServiceOrderFor('browserstack');
|
|
406
423
|
}
|
|
407
424
|
else if (answers.backend === BACKEND_CHOICES[2]) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
425
|
+
return prioServiceOrderFor('sauce');
|
|
426
|
+
}
|
|
427
|
+
else if (answers.setupMobileEnvironment) {
|
|
428
|
+
return prioServiceOrderFor('appium');
|
|
411
429
|
}
|
|
412
430
|
return SUPPORTED_PACKAGES.service;
|
|
413
431
|
},
|
|
414
432
|
// @ts-ignore
|
|
415
433
|
default: (answers) => {
|
|
416
434
|
if (answers.backend === BACKEND_CHOICES[3]) {
|
|
417
|
-
return
|
|
418
|
-
/* istanbul ignore next */
|
|
419
|
-
({ name }) => name === 'browserstack')?.value];
|
|
435
|
+
return selectDefaultService('browserstack');
|
|
420
436
|
}
|
|
421
437
|
else if (answers.backend === BACKEND_CHOICES[2]) {
|
|
422
|
-
return
|
|
423
|
-
|
|
424
|
-
|
|
438
|
+
return selectDefaultService('sauce');
|
|
439
|
+
}
|
|
440
|
+
else if (answers.setupMobileEnvironment) {
|
|
441
|
+
return selectDefaultService('appium');
|
|
425
442
|
}
|
|
426
|
-
return
|
|
427
|
-
/* istanbul ignore next */
|
|
428
|
-
({ name }) => name === 'chromedriver')?.value];
|
|
443
|
+
return selectDefaultService('chromedriver');
|
|
429
444
|
},
|
|
430
445
|
validate: /* istanbul ignore next */ (answers) => validateServiceAnswers(answers)
|
|
431
446
|
}, {
|
|
@@ -451,8 +466,12 @@ export const QUESTIONNAIRE = [{
|
|
|
451
466
|
name: 'baseUrl',
|
|
452
467
|
message: 'What is the base url?',
|
|
453
468
|
default: 'http://localhost',
|
|
454
|
-
// no base url for
|
|
455
|
-
when: /* istanbul ignore next */ (answers) =>
|
|
469
|
+
// no base url for:
|
|
470
|
+
when: /* istanbul ignore next */ (answers) => (
|
|
471
|
+
// unit and component testing in the browser
|
|
472
|
+
!isBrowserRunner(answers) &&
|
|
473
|
+
// mobile testing with Appium
|
|
474
|
+
!answers.setupMobileEnvironment)
|
|
456
475
|
}, {
|
|
457
476
|
type: 'confirm',
|
|
458
477
|
name: 'npmInstall',
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
// see also: https://webdriver.io/docs/dot-reporter<%
|
|
4
4
|
if (reporters.length) { %>
|
|
5
5
|
reporters: [<%- reporters.map(reporter => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
if (reporter === 'allure') {
|
|
7
|
+
return `['${reporter}', {outputDir: 'allure-results'}]`
|
|
8
|
+
} else {
|
|
9
|
+
return `'${reporter}'`
|
|
10
|
+
}
|
|
11
|
+
}) %>],<% } else { %>
|
|
12
|
+
// reporters: ['dot'],<%
|
|
10
13
|
}
|
|
11
|
-
|
|
12
|
-
<%} else { %>
|
|
13
|
-
// reporters: ['dot'],
|
|
14
|
-
<%}%>
|
|
14
|
+
%>
|
|
@@ -126,19 +126,24 @@ export const config: Options.Testrunner = {<%
|
|
|
126
126
|
// Sauce Labs platform configurator - a great tool to configure your capabilities:
|
|
127
127
|
// https://saucelabs.com/platform/platform-configurator
|
|
128
128
|
//
|
|
129
|
-
capabilities: [{
|
|
130
|
-
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
129
|
+
capabilities: [{<%
|
|
130
|
+
if (answers.expEnvAccessKey) { %>
|
|
131
|
+
// Experitest Access Key
|
|
132
|
+
// get more information at https://docs.experitest.com/display/TE/Obtaining+Access+Key
|
|
133
|
+
'experitest:accessKey': '<%- answers.expEnvAccessKey %>',<%
|
|
134
|
+
}
|
|
135
|
+
if (answers.setupMobileEnvironment) { %>
|
|
136
|
+
// capabilities for local Appium web tests on an Android Emulator
|
|
137
|
+
platformName: 'Android', // or "iOS"
|
|
138
|
+
browserName: 'Chrome', // or "Safari"
|
|
139
|
+
'appium:deviceName': 'Android GoogleAPI Emulator', // or "iPhone Simulator"
|
|
140
|
+
'appium:platformVersion': '12.0', // or "16.2" (for running iOS v16)
|
|
141
|
+
'appium:automationName': 'UiAutomator2' // or "XCUITest"<%
|
|
142
|
+
} else {
|
|
143
|
+
%>
|
|
144
|
+
// capabilities for local browser web tests
|
|
145
|
+
browserName: 'chrome' // or "firefox", "microsoftedge", "safari"<%
|
|
146
|
+
} %>
|
|
142
147
|
}],
|
|
143
148
|
//
|
|
144
149
|
// ===================
|
package/build/types.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface Questionnair {
|
|
|
32
32
|
createPackageJSON?: boolean;
|
|
33
33
|
projectRootCorrect?: boolean;
|
|
34
34
|
projectRoot?: string;
|
|
35
|
+
setupMobileEnvironment?: boolean;
|
|
35
36
|
}
|
|
36
37
|
export interface ParsedAnswers extends Omit<Questionnair, 'runner' | 'framework' | 'reporters' | 'services' | 'plugins'> {
|
|
37
38
|
rawAnswers: Questionnair;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7F,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,OAAO,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAA;IACvD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/utils.d.ts
CHANGED
|
@@ -137,4 +137,5 @@ export declare function setupTypeScript(parsedAnswers: ParsedAnswers): Promise<v
|
|
|
137
137
|
export declare function setupBabel(parsedAnswers: ParsedAnswers): Promise<void>;
|
|
138
138
|
export declare function createWDIOConfig(parsedAnswers: ParsedAnswers): Promise<void>;
|
|
139
139
|
export declare function createWDIOScript(parsedAnswers: ParsedAnswers): Promise<boolean>;
|
|
140
|
+
export declare function runAppiumInstaller(parsedAnswers: ParsedAnswers): Promise<void | import("execa").ExecaReturnValue<string>>;
|
|
140
141
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/build/utils.js
CHANGED
|
@@ -12,6 +12,7 @@ import pickBy from 'lodash.pickby';
|
|
|
12
12
|
import logger from '@wdio/logger';
|
|
13
13
|
import readDir from 'recursive-readdir';
|
|
14
14
|
import yarnInstall from 'yarn-install';
|
|
15
|
+
import { $ } from 'execa';
|
|
15
16
|
import { readPackageUp } from 'read-pkg-up';
|
|
16
17
|
import { resolve } from 'import-meta-resolve';
|
|
17
18
|
import { SevereServiceError } from 'webdriverio';
|
|
@@ -186,7 +187,7 @@ export function addServiceDeps(names, packages, update = false) {
|
|
|
186
187
|
* was selected for install
|
|
187
188
|
*/
|
|
188
189
|
if (names.some(({ short }) => short === 'appium')) {
|
|
189
|
-
const result = execSync('appium --version || echo APPIUM_MISSING').toString().trim();
|
|
190
|
+
const result = execSync('appium --version || echo APPIUM_MISSING', { stdio: 'pipe' }).toString().trim();
|
|
190
191
|
if (result === 'APPIUM_MISSING') {
|
|
191
192
|
packages.push('appium');
|
|
192
193
|
}
|
|
@@ -387,7 +388,9 @@ async function generateLocalRunnerTestFiles(answers) {
|
|
|
387
388
|
}
|
|
388
389
|
export async function getAnswers(yes) {
|
|
389
390
|
if (yes) {
|
|
390
|
-
const
|
|
391
|
+
const ignoredQuestions = ['setupMobileEnvironment'];
|
|
392
|
+
const filterdQuestionaire = QUESTIONNAIRE.filter((question) => !ignoredQuestions.includes(question.name));
|
|
393
|
+
const answers = filterdQuestionaire.reduce((answers, question) => Object.assign(answers, question.when && !question.when(answers)
|
|
391
394
|
/**
|
|
392
395
|
* set nothing if question doesn't apply
|
|
393
396
|
*/
|
|
@@ -745,3 +748,19 @@ export async function createWDIOScript(parsedAnswers) {
|
|
|
745
748
|
return false;
|
|
746
749
|
}
|
|
747
750
|
}
|
|
751
|
+
export async function runAppiumInstaller(parsedAnswers) {
|
|
752
|
+
if (!parsedAnswers.setupMobileEnvironment) {
|
|
753
|
+
return;
|
|
754
|
+
}
|
|
755
|
+
const answer = await inquirer.prompt({
|
|
756
|
+
name: 'continueWithAppiumSetup',
|
|
757
|
+
message: 'Continue with Appium setup using appium-installer (https://github.com/AppiumTestDistribution/appium-installer)?',
|
|
758
|
+
type: 'confirm',
|
|
759
|
+
default: true
|
|
760
|
+
});
|
|
761
|
+
if (!answer.continueWithAppiumSetup) {
|
|
762
|
+
return console.log('Ok! You can learn more about setting up mobile environments in the ' +
|
|
763
|
+
'Appium docs at https://appium.io/docs/en/2.0/quickstart/');
|
|
764
|
+
}
|
|
765
|
+
return $({ stdio: 'inherit' }) `npx appium-installer`;
|
|
766
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/cli",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.9.0",
|
|
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",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@types/node": "^18.0.0",
|
|
49
49
|
"@wdio/config": "8.8.7",
|
|
50
|
-
"@wdio/globals": "8.
|
|
50
|
+
"@wdio/globals": "8.9.0",
|
|
51
51
|
"@wdio/logger": "8.6.6",
|
|
52
52
|
"@wdio/protocols": "8.8.1",
|
|
53
53
|
"@wdio/types": "8.8.7",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"lodash.union": "^4.6.0",
|
|
66
66
|
"read-pkg-up": "9.1.0",
|
|
67
67
|
"recursive-readdir": "^2.2.2",
|
|
68
|
-
"webdriverio": "8.
|
|
68
|
+
"webdriverio": "8.9.0",
|
|
69
69
|
"yargs": "^17.5.1",
|
|
70
70
|
"yarn-install": "^1.0.0"
|
|
71
71
|
},
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"publishConfig": {
|
|
83
83
|
"access": "public"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "6aa655ac57e4917a15204fa776f0fc82bdf35317"
|
|
86
86
|
}
|