@mablhq/mabl-cli 1.25.19 → 1.29.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.
Files changed (62) hide show
  1. package/api/basicApiClient.js +1 -0
  2. package/api/entities/Browser.js +1 -0
  3. package/api/featureSet.js +2 -2
  4. package/api/mablApiClient.js +14 -0
  5. package/api/mablApiClientFactory.js +5 -4
  6. package/browserLauncher/browserLauncherFactory.js +3 -3
  7. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowser.js +2 -2
  8. package/browserLauncher/playwrightBrowserLauncher/playwrightBrowserLauncher.js +20 -3
  9. package/browserLauncher/playwrightBrowserLauncher/playwrightDom.js +18 -15
  10. package/browserLauncher/playwrightBrowserLauncher/simplePlaywrightLogger.js +36 -0
  11. package/browserLauncher/types.js +5 -1
  12. package/cli.js +1 -0
  13. package/commands/browserTypes.js +19 -8
  14. package/commands/config/config_cmds/configKeys.js +7 -1
  15. package/commands/config/config_cmds/set.js +6 -0
  16. package/commands/constants.js +9 -7
  17. package/commands/tests/testsUtil.js +71 -85
  18. package/commands/tests/tests_cmds/run-cloud.js +2 -2
  19. package/commands/tests/tests_cmds/run.js +24 -1
  20. package/commands/users/users.js +5 -0
  21. package/commands/users/users_cmds/list.js +58 -0
  22. package/domUtil/index.js +1 -2
  23. package/execution/index.js +1 -1
  24. package/index.d.ts +2 -0
  25. package/mablscript/MablAction.js +31 -1
  26. package/mablscript/actions/ConditionAction.js +4 -0
  27. package/mablscript/actions/FindAction.js +3 -0
  28. package/mablscript/actions/GenerateRandomStringAction.js +3 -0
  29. package/mablscript/actions/GetVariableValue.js +3 -0
  30. package/mablscript/actions/JavaScriptAction.js +7 -0
  31. package/mablscript/importer.js +10 -3
  32. package/mablscript/steps/AssertStep.js +10 -0
  33. package/mablscript/steps/ClickAndHoldStep.js +3 -0
  34. package/mablscript/steps/ClickStep.js +3 -0
  35. package/mablscript/steps/CreateVariableStep.js +6 -0
  36. package/mablscript/steps/DoubleClickStep.js +3 -0
  37. package/mablscript/steps/DownloadStep.js +4 -0
  38. package/mablscript/steps/EchoStep.js +3 -0
  39. package/mablscript/steps/EnterTextStep.js +6 -0
  40. package/mablscript/steps/EvaluateJavaScriptStep.js +3 -0
  41. package/mablscript/steps/HoverStep.js +3 -0
  42. package/mablscript/steps/IfConditionStep.js +9 -0
  43. package/mablscript/steps/OpenEmailStep.js +3 -0
  44. package/mablscript/steps/ReleaseStep.js +3 -0
  45. package/mablscript/steps/RemoveCookieStep.js +4 -0
  46. package/mablscript/steps/SelectStep.js +7 -0
  47. package/mablscript/steps/SendHttpRequestStep.js +8 -0
  48. package/mablscript/steps/SendKeyStep.js +3 -0
  49. package/mablscript/steps/SetCookieStep.js +7 -0
  50. package/mablscript/steps/SetFilesStep.js +3 -0
  51. package/mablscript/steps/SwitchContextStep.js +4 -0
  52. package/mablscript/steps/VisitUrlStep.js +4 -0
  53. package/mablscript/steps/WaitUntilStep.js +3 -0
  54. package/mablscriptFind/index.js +1 -1
  55. package/package.json +5 -4
  56. package/providers/cliConfigProvider.js +6 -0
  57. package/resources/mablFind.js +1 -1
  58. package/util/asyncUtil.js +9 -5
  59. package/util/httpUtil.js +32 -12
  60. package/browserLauncher/runnerType.js +0 -7
  61. package/domUtil/index.js.LICENSE.txt +0 -14
  62. package/mablscript/AttributesConstants.js +0 -115
@@ -58,6 +58,7 @@ class BasicApiClient {
58
58
  const config = (0, httpUtil_1.axiosProxyConfig)({
59
59
  sslVerify: (_a = options.sslVerify) !== null && _a !== void 0 ? _a : DEFAULT_SSL_VERIFY,
60
60
  proxyHost: options.proxyUrl,
61
+ proxyType: options.proxyType,
61
62
  });
62
63
  if (!config.headers) {
63
64
  config.headers = {};
@@ -4,6 +4,7 @@ exports.Browser = void 0;
4
4
  var Browser;
5
5
  (function (Browser) {
6
6
  Browser["chrome"] = "chrome";
7
+ Browser["edge"] = "edge";
7
8
  Browser["firefox"] = "firefox";
8
9
  Browser["internet_explorer"] = "internet_explorer";
9
10
  Browser["safari"] = "safari";
package/api/featureSet.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FeatureSet = exports.FindImplementationVersion = void 0;
4
- const runnerType_1 = require("../browserLauncher/runnerType");
4
+ const types_1 = require("../browserLauncher/types");
5
5
  const ACCESSIBILITY_CHECK_FEATURE_FLAG = 'accessibility_checks';
6
6
  const SMARTER_WAIT_FEATURE_FLAG = 'smarter_wait';
7
7
  var FindImplementationVersion;
@@ -14,7 +14,7 @@ class FeatureSet {
14
14
  this.featureFlags = featureFlags;
15
15
  }
16
16
  getRunnerType() {
17
- return runnerType_1.RunnerType.Playwright;
17
+ return types_1.RunnerType.Playwright;
18
18
  }
19
19
  getFindImplementationVersion() {
20
20
  return this.featureFlags.has(SMARTER_WAIT_FEATURE_FLAG)
@@ -745,6 +745,20 @@ class MablApiClient extends basicApiClient_1.BasicApiClient {
745
745
  throw toApiError(`Failed to get feature flags for workspace ${workspaceId}`, error);
746
746
  }
747
747
  }
748
+ async getUsers(workspaceId, limit) {
749
+ try {
750
+ const userQueryString = queryString.stringify({
751
+ organization_id: workspaceId,
752
+ limit,
753
+ });
754
+ const users = await this.makeGetRequest(`${this.baseApiUrl}/users/?${userQueryString}`).then((result) => { var _a; return (_a = result.users) !== null && _a !== void 0 ? _a : []; });
755
+ sortTemporallyAscending(users);
756
+ return users;
757
+ }
758
+ catch (error) {
759
+ throw toApiError(`Failed to get users`, error);
760
+ }
761
+ }
748
762
  }
749
763
  exports.MablApiClient = MablApiClient;
750
764
  function sortTemporallyAscending(entities) {
@@ -32,11 +32,11 @@ class MablApiClientFactory {
32
32
  });
33
33
  }
34
34
  static async createApiClient(opts) {
35
- const { proxyHost, sslVerify } = (await cliConfigProvider_1.CliConfigProvider.getCliConfig()).http
36
- .mabl;
35
+ const { mabl } = (await cliConfigProvider_1.CliConfigProvider.getCliConfig()).http;
37
36
  const optsFromCliHttpConfig = {
38
- proxyUrl: proxyHost,
39
- sslVerify,
37
+ proxyUrl: mabl.proxyHost,
38
+ sslVerify: mabl.sslVerify,
39
+ proxyType: mabl.proxyType,
40
40
  };
41
41
  if (opts) {
42
42
  return new mablApiClient_1.MablApiClient({
@@ -68,6 +68,7 @@ class MablApiClientFactory {
68
68
  token: accessToken,
69
69
  proxyUrl: httpConfig.proxyHost,
70
70
  sslVerify: httpConfig.sslVerify,
71
+ proxyType: httpConfig.proxyType,
71
72
  });
72
73
  }
73
74
  static throwUserAuthTypeError() {
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BrowserLauncherFactory = void 0;
7
7
  const playwrightBrowserLauncher_1 = require("./playwrightBrowserLauncher/playwrightBrowserLauncher");
8
- const runnerType_1 = require("./runnerType");
8
+ const types_1 = require("./types");
9
9
  const logUtils_1 = require("../util/logUtils");
10
10
  const loggingProvider_1 = require("../providers/logging/loggingProvider");
11
11
  const chalk_1 = __importDefault(require("chalk"));
@@ -14,12 +14,12 @@ class BrowserLauncherFactory {
14
14
  var _a;
15
15
  return (_a = process.env.MABL_RUNNER) === null || _a === void 0 ? void 0 : _a.toLowerCase();
16
16
  }
17
- static createRunner(runnerType = runnerType_1.RunnerType.Playwright, loggerFunc) {
17
+ static createRunner(runnerType = types_1.RunnerType.Playwright, loggerFunc) {
18
18
  const runnerFromEnv = BrowserLauncherFactory.getRunnerFromEnvironment();
19
19
  const runner = runnerFromEnv ? runnerFromEnv : runnerType;
20
20
  loggerFunc =
21
21
  loggerFunc !== null && loggerFunc !== void 0 ? loggerFunc : ((line) => (0, logUtils_1.logCliOutput)(loggingProvider_1.LogLevel.Info, line));
22
- if (runner === runnerType_1.RunnerType.Playwright) {
22
+ if (runner === types_1.RunnerType.Playwright) {
23
23
  loggerFunc(chalk_1.default.cyan(`Browser launcher:`, chalk_1.default.magenta('Playwright')));
24
24
  return new playwrightBrowserLauncher_1.PlaywrightBrowserLauncher();
25
25
  }
@@ -31,9 +31,9 @@ const events_1 = __importDefault(require("events"));
31
31
  const playwright = __importStar(require("@playwright/test"));
32
32
  const browserLauncher_1 = require("../browserLauncher");
33
33
  const playwrightPage_1 = require("./playwrightPage");
34
+ const types_1 = require("../types");
34
35
  const path_1 = __importDefault(require("path"));
35
36
  const fs_extra_1 = __importDefault(require("fs-extra"));
36
- const runnerType_1 = require("../runnerType");
37
37
  class PlaywrightBrowser extends events_1.default {
38
38
  constructor(defaultContext, downloadDirectory, browserWSEndpoint, disableFocusEmulation) {
39
39
  super();
@@ -61,7 +61,7 @@ class PlaywrightBrowser extends events_1.default {
61
61
  return browser;
62
62
  }
63
63
  getRunnerType() {
64
- return runnerType_1.RunnerType.Playwright;
64
+ return types_1.RunnerType.Playwright;
65
65
  }
66
66
  makeCdpCall(method, paramArgs) {
67
67
  return this.cdpSession.send(method, paramArgs);
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlaywrightBrowserLauncher = void 0;
4
4
  const test_1 = require("@playwright/test");
5
+ const browserTypes_1 = require("../../commands/browserTypes");
6
+ const loggingProvider_1 = require("../../providers/logging/loggingProvider");
5
7
  const playwrightBrowser_1 = require("./playwrightBrowser");
8
+ const simplePlaywrightLogger_1 = require("./simplePlaywrightLogger");
6
9
  const BROWSER_LAUNCH_TIMEOUT_MS = 60000;
7
10
  class PlaywrightBrowserLauncher {
8
11
  async connect(options, currentDownloadPath) {
@@ -10,7 +13,7 @@ class PlaywrightBrowserLauncher {
10
13
  return playwrightBrowser_1.PlaywrightBrowser.create(browser.contexts()[0], currentDownloadPath, options.browserWSEndpoint);
11
14
  }
12
15
  async launch(options) {
13
- var _a, _b, _c;
16
+ var _a, _b, _c, _d;
14
17
  const viewport = options.defaultDeviceDescriptor
15
18
  ? {
16
19
  width: options.defaultDeviceDescriptor.width,
@@ -18,13 +21,26 @@ class PlaywrightBrowserLauncher {
18
21
  }
19
22
  :
20
23
  null;
24
+ const playwrightLogger = options.providerLogger
25
+ ? simplePlaywrightLogger_1.SimplePlaywrightLogger.createWarningLogger(options.providerLogger)
26
+ : undefined;
27
+ if (!options.userDataDir) {
28
+ loggingProvider_1.logger.error('User data directory is required to launch a persistent chromium context and was not provided with LaunchOptions [{}]', options);
29
+ throw new Error('User data directory is required to launch a persistent chromium context');
30
+ }
31
+ if (!options.downloadPath) {
32
+ loggingProvider_1.logger.error('Download path is required to launch a persistent chromium context and was not provided with LaunchOptions [{}]', options);
33
+ throw new Error('Download path is required to launch a persistent chromium context and was not provided with LaunchOptions');
34
+ }
21
35
  const defaultContext = await test_1.chromium.launchPersistentContext(options.userDataDir, {
22
36
  acceptDownloads: true,
23
37
  args: options.args,
24
38
  bypassCSP: options.bypassContentSecurityPolicy,
39
+ channel: browserTypes_1.SupportedBrowserTypeProperties[options.browserType]
40
+ .browserReleaseChannel,
25
41
  deviceScaleFactor: (_a = options.defaultDeviceDescriptor) === null || _a === void 0 ? void 0 : _a.deviceScaleFactor,
26
42
  downloadsPath: options.downloadPath,
27
- executablePath: options.executablePath,
43
+ executablePath: options.browserPath,
28
44
  extraHTTPHeaders: options.extraHttpHeaders,
29
45
  hasTouch: (_b = options.defaultDeviceDescriptor) === null || _b === void 0 ? void 0 : _b.hasTouch,
30
46
  headless: options.headless,
@@ -32,9 +48,10 @@ class PlaywrightBrowserLauncher {
32
48
  ignoreDefaultArgs: options.ignoreDefaultArgs,
33
49
  ignoreHTTPSErrors: true,
34
50
  isMobile: (_c = options.defaultDeviceDescriptor) === null || _c === void 0 ? void 0 : _c.isMobile,
51
+ logger: playwrightLogger,
35
52
  proxy: options.proxy,
36
53
  timeout: BROWSER_LAUNCH_TIMEOUT_MS,
37
- userAgent: options.userAgent,
54
+ userAgent: (_d = options.userAgent) !== null && _d !== void 0 ? _d : options.defaultUserAgent,
38
55
  viewport,
39
56
  });
40
57
  return playwrightBrowser_1.PlaywrightBrowser.create(defaultContext, options.downloadPath, '', options.disableFocusEmulation);
@@ -305,26 +305,29 @@ class PlaywrightElementHandle extends PlaywrightJsHandle {
305
305
  return (0, pureUtil_1.isNullish)(result) ? undefined : result;
306
306
  }
307
307
  async getElementText() {
308
+ const innerText = await this.getInnerText();
309
+ return innerText ? innerText : this.getSlotText();
310
+ }
311
+ async getInnerText() {
312
+ const result = await this.element.evaluate((el) => el.innerText);
313
+ return (0, pureUtil_1.isNullish)(result) ? undefined : result;
314
+ }
315
+ async getSlotText() {
308
316
  const result = await this.element.evaluate((el) => {
309
- var _a;
310
- function extractFromSlot(element) {
311
- const slots = element.querySelectorAll('slot');
312
- if (slots.length !== 1) {
313
- return '';
314
- }
315
- const textNode = slots
316
- .item(0)
317
- .assignedNodes()
318
- .find((node) => node.nodeType === Node.TEXT_NODE);
319
- return textNode ? textNode.data : '';
317
+ const slots = el.querySelectorAll('slot');
318
+ if (slots.length !== 1) {
319
+ return '';
320
320
  }
321
- return (_a = (el.innerText || extractFromSlot(el))) !== null && _a !== void 0 ? _a : '';
321
+ const textNode = slots
322
+ .item(0)
323
+ .assignedNodes()
324
+ .find((node) => node.nodeType === Node.TEXT_NODE);
325
+ return textNode === null || textNode === void 0 ? void 0 : textNode.data;
322
326
  });
323
327
  return (0, pureUtil_1.isNullish)(result) ? undefined : result;
324
328
  }
325
- async getInnerText() {
326
- const result = await this.element.innerText();
327
- return (0, pureUtil_1.isNullish)(result) ? undefined : result;
329
+ async isInShadowRoot() {
330
+ return this.element.evaluate((el) => el.getRootNode().nodeName === '#document-fragment');
328
331
  }
329
332
  getActionTimeout(options) {
330
333
  var _a;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimplePlaywrightLogger = void 0;
4
+ class SimplePlaywrightLogger {
5
+ constructor(logger, severityAllowList) {
6
+ this.logger = logger;
7
+ this.severityAllowList = severityAllowList;
8
+ }
9
+ static createWarningLogger(logger) {
10
+ return new SimplePlaywrightLogger(logger, new Set(['error', 'warning']));
11
+ }
12
+ isEnabled(_name, severity) {
13
+ return this.severityAllowList.has(severity);
14
+ }
15
+ log(name, severity, message, args, _hints) {
16
+ const msg = `[Playwright:${name}:${severity}] ${message} ${args}`;
17
+ switch (severity) {
18
+ case 'error':
19
+ this.logger.error(msg);
20
+ break;
21
+ case 'warning':
22
+ this.logger.warn(msg);
23
+ break;
24
+ case 'info':
25
+ this.logger.info(msg);
26
+ break;
27
+ case 'verbose':
28
+ this.logger.verbose(msg);
29
+ break;
30
+ default:
31
+ this.logger.info(msg);
32
+ break;
33
+ }
34
+ }
35
+ }
36
+ exports.SimplePlaywrightLogger = SimplePlaywrightLogger;
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WaitForOptions = exports.LifecycleEvent = exports.DefaultTimeouts = void 0;
3
+ exports.WaitForOptions = exports.LifecycleEvent = exports.RunnerType = exports.DefaultTimeouts = void 0;
4
4
  class DefaultTimeouts {
5
5
  }
6
6
  exports.DefaultTimeouts = DefaultTimeouts;
7
7
  DefaultTimeouts.defaultTrialTimeoutMs = 5000;
8
8
  DefaultTimeouts.defaultWaitTimeoutMs = 5000;
9
9
  DefaultTimeouts.defaultActionTimeoutMs = 0;
10
+ var RunnerType;
11
+ (function (RunnerType) {
12
+ RunnerType["Playwright"] = "playwright";
13
+ })(RunnerType = exports.RunnerType || (exports.RunnerType = {}));
10
14
  var LifecycleEvent;
11
15
  (function (LifecycleEvent) {
12
16
  LifecycleEvent["DomContentLoaded"] = "domcontentloaded";
package/cli.js CHANGED
@@ -60,6 +60,7 @@ yargs
60
60
  .commandDir('./commands/plans')
61
61
  .commandDir('./commands/tests')
62
62
  .commandDir('./commands/test-runs')
63
+ .commandDir('./commands/users')
63
64
  .commandDir('./commands/workspaces')
64
65
  .demandCommand(1, '')
65
66
  .recommendCommands()
@@ -1,10 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrowserTypes = void 0;
4
- var BrowserTypes;
5
- (function (BrowserTypes) {
6
- BrowserTypes["Chrome"] = "chrome";
7
- BrowserTypes["Firefox"] = "firefox";
8
- BrowserTypes["InternetExplorer"] = "internet_explorer";
9
- BrowserTypes["Safari"] = "safari";
10
- })(BrowserTypes = exports.BrowserTypes || (exports.BrowserTypes = {}));
3
+ exports.DefaultBrowserProperties = exports.SupportedBrowserTypeProperties = exports.BrowserType = void 0;
4
+ var BrowserType;
5
+ (function (BrowserType) {
6
+ BrowserType["Chrome"] = "chrome";
7
+ BrowserType["Edge"] = "edge";
8
+ BrowserType["Firefox"] = "firefox";
9
+ BrowserType["InternetExplorer"] = "internet_explorer";
10
+ BrowserType["Safari"] = "safari";
11
+ })(BrowserType = exports.BrowserType || (exports.BrowserType = {}));
12
+ exports.SupportedBrowserTypeProperties = {
13
+ chrome: { browserName: 'chrome', browserReleaseChannel: 'chrome' },
14
+ edge: { browserName: 'edge', browserReleaseChannel: 'msedge' },
15
+ firefox: { browserName: 'firefox', browserReleaseChannel: 'firefox' },
16
+ safari: {
17
+ browserName: 'safari',
18
+ browserReleaseChannel: 'webkit',
19
+ },
20
+ };
21
+ exports.DefaultBrowserProperties = exports.SupportedBrowserTypeProperties.chrome;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidProxyMode = exports.proxyModes = exports.validConfigKeyChoices = exports.configKeys = void 0;
3
+ exports.isValidProxyType = exports.isValidProxyMode = exports.proxyTypes = exports.proxyModes = exports.validConfigKeyChoices = exports.configKeys = void 0;
4
4
  exports.configKeys = Object.freeze({
5
5
  browserPath: 'browser.path',
6
6
  enableSourceControlMetadataCollection: 'alpha.scm_metadata.enable',
@@ -8,6 +8,7 @@ exports.configKeys = Object.freeze({
8
8
  proxy: 'http.proxy',
9
9
  sslVerify: 'http.sslVerify',
10
10
  proxyMode: 'http.proxyMode',
11
+ proxyType: 'http.proxyType',
11
12
  });
12
13
  exports.validConfigKeyChoices = Object.values(exports.configKeys);
13
14
  exports.proxyModes = [
@@ -16,7 +17,12 @@ exports.proxyModes = [
16
17
  'all',
17
18
  'none',
18
19
  ];
20
+ exports.proxyTypes = ['legacy', 'current'];
19
21
  function isValidProxyMode(value) {
20
22
  return exports.proxyModes.indexOf(value) !== -1;
21
23
  }
22
24
  exports.isValidProxyMode = isValidProxyMode;
25
+ function isValidProxyType(value) {
26
+ return exports.proxyTypes.indexOf(value) !== -1;
27
+ }
28
+ exports.isValidProxyType = isValidProxyType;
@@ -55,6 +55,12 @@ async function setConfig(parsed) {
55
55
  }
56
56
  await cliConfigProvider_1.CliConfigProvider.setConfigProperty(key, value);
57
57
  break;
58
+ case configKeys_1.configKeys.proxyType:
59
+ if (!(0, configKeys_1.isValidProxyType)(value)) {
60
+ throw new Error(`Invalid proxy type. The value must be one of ${JSON.stringify(configKeys_1.proxyTypes)}`);
61
+ }
62
+ await cliConfigProvider_1.CliConfigProvider.setConfigProperty(key, value);
63
+ break;
58
64
  default:
59
65
  throw new Error(`<${exports.configKeyCommandArg}> value not one of supported types: ${JSON.stringify(configKeys_1.validConfigKeyChoices)}`);
60
66
  }
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommandArgUrlApp = exports.CommandArgUrl = exports.CommandArgTrainerVersion = exports.CommandArgTo = exports.CommandArgSilent = exports.CommandArgRevision = exports.CommandArgMaxHeartbeatAge = exports.CommandArgPlanId = exports.CommandArgContentTypes = exports.CommandArgPreview = exports.CommandArgOutputFilePath = exports.CommandArgOutput = exports.CommandArgNoPrompt = exports.CommandArgPrompt = exports.CommandArgPortNumber = exports.CommandArgName = exports.CommandArgMablBranchChangesOnly = exports.CommandArgMablBranch = exports.CommandArgMablAutoLogin = exports.CommandArgMablAutoBranch = exports.CommandArgLinkBypass = exports.CommandArgLinkLabel = exports.CommandArgLimitOutput = exports.CommandArgLabels = exports.CommandArgLabelsInclude = exports.CommandArgLabelsExclude = exports.CommandArgTestInteractionSpeed = exports.CommandArgTestRunId = exports.CommandArgTestFile = exports.CommandArgId = exports.CommandArgUserAgent = exports.CommandArgHttpHeaders = exports.CommandArgHelp = exports.CommandArgFromPlanId = exports.CommandArgFrom = exports.CommandArgFormat = exports.CommandArgFastFailure = exports.CommandArgOverrideEnvironmentId = exports.CommandArgEnvironmentId = exports.CommandArgEnableLink = exports.CommandArgDetailLevel = exports.CommandArgDescription = exports.CommandArgDeploymentId = exports.CommandArgDecrypt = exports.CommandArgDataTables = exports.CommandArgCredentials = exports.CommandArgBasicAuthCredentials = exports.CommandArgBrowsers = exports.CommandArgApplicationId = exports.CommandArgApiKey = void 0;
4
- exports.BrowserTypeSelections = exports.DefaultBrowserType = exports.DefaultBranchName = exports.DefaultOutputFormatChoices = exports.DetailLevelFormats = exports.ReporterOptions = exports.OutputFormats = exports.CommandArgAliases = exports.CommandArgBrowserEnableExtensions = exports.CommandArgBrowserIgnoreCertificateErrors = exports.CommandArgBrowserDisableIsolation = exports.ListTimeFormat = exports.CommandArgReporterOptions = exports.CommandArgReporter = exports.CommandArgWorkspaceId = exports.CommandArgVersion = exports.CommandArgVariables = exports.CommandArgUrlApi = void 0;
3
+ exports.CommandArgUrl = exports.CommandArgTrainerVersion = exports.CommandArgTo = exports.CommandArgSilent = exports.CommandArgRevision = exports.CommandArgMaxHeartbeatAge = exports.CommandArgPlanId = exports.CommandArgContentTypes = exports.CommandArgPreview = exports.CommandArgOutputFilePath = exports.CommandArgOutput = exports.CommandArgNoPrompt = exports.CommandArgPrompt = exports.CommandArgPortNumber = exports.CommandArgName = exports.CommandArgMablBranchChangesOnly = exports.CommandArgMablBranch = exports.CommandArgMablAutoLogin = exports.CommandArgMablAutoBranch = exports.CommandArgLinkBypass = exports.CommandArgLinkLabel = exports.CommandArgLimitOutput = exports.CommandArgLabels = exports.CommandArgLabelsInclude = exports.CommandArgLabelsExclude = exports.CommandArgTestInteractionSpeed = exports.CommandArgTestRunId = exports.CommandArgTestFile = exports.CommandArgId = exports.CommandArgUserAgent = exports.CommandArgHttpHeaders = exports.CommandArgHelp = exports.CommandArgFromPlanId = exports.CommandArgFrom = exports.CommandArgFormat = exports.CommandArgFastFailure = exports.CommandArgOverrideEnvironmentId = exports.CommandArgEnvironmentId = exports.CommandArgEnableLink = exports.CommandArgDetailLevel = exports.CommandArgDescription = exports.CommandArgDeploymentId = exports.CommandArgDecrypt = exports.CommandArgDataTables = exports.CommandArgCredentials = exports.CommandArgBasicAuthCredentials = exports.CommandArgBrowsers = exports.CommandArgBrowser = exports.CommandArgApplicationId = exports.CommandArgApiKey = void 0;
4
+ exports.BrowserTypeSelections = exports.DefaultBrowserType = exports.DefaultBranchName = exports.DefaultOutputFormatChoices = exports.DetailLevelFormats = exports.ReporterOptions = exports.OutputFormats = exports.CommandArgAliases = exports.CommandArgBrowserEnableExtensions = exports.CommandArgBrowserIgnoreCertificateErrors = exports.CommandArgBrowserDisableIsolation = exports.ListTimeFormat = exports.CommandArgReporterOptions = exports.CommandArgReporter = exports.CommandArgWorkspaceId = exports.CommandArgVersion = exports.CommandArgVariables = exports.CommandArgUrlApi = exports.CommandArgUrlApp = void 0;
5
5
  const browserTypes_1 = require("./browserTypes");
6
6
  exports.CommandArgApiKey = 'api-key';
7
7
  exports.CommandArgApplicationId = 'application-id';
8
+ exports.CommandArgBrowser = 'browser';
8
9
  exports.CommandArgBrowsers = 'browsers';
9
10
  exports.CommandArgBasicAuthCredentials = 'basic-auth-credentials-id';
10
11
  exports.CommandArgCredentials = 'credentials-id';
@@ -107,10 +108,11 @@ exports.DefaultOutputFormatChoices = [
107
108
  OutputFormats.Yaml,
108
109
  ];
109
110
  exports.DefaultBranchName = 'master';
110
- exports.DefaultBrowserType = browserTypes_1.BrowserTypes.Chrome;
111
+ exports.DefaultBrowserType = browserTypes_1.BrowserType.Chrome;
111
112
  exports.BrowserTypeSelections = [
112
- browserTypes_1.BrowserTypes.Chrome,
113
- browserTypes_1.BrowserTypes.Firefox,
114
- browserTypes_1.BrowserTypes.InternetExplorer,
115
- browserTypes_1.BrowserTypes.Safari,
113
+ browserTypes_1.BrowserType.Chrome,
114
+ browserTypes_1.BrowserType.Edge,
115
+ browserTypes_1.BrowserType.Firefox,
116
+ browserTypes_1.BrowserType.InternetExplorer,
117
+ browserTypes_1.BrowserType.Safari,
116
118
  ].map((browser) => browser.toString());