@zohodesk/testinglibrary 0.4.1-experimental → 0.4.3-experimental
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/README.md +19 -0
- package/build/core/playwright/configuration/Configuration.js +0 -3
- package/build/core/playwright/configuration/ConfigurationHelper.js +9 -2
- package/build/core/playwright/env-initializer.js +1 -0
- package/build/core/playwright/fixtures.js +24 -0
- package/build/core/playwright/helpers/auth/getUsers.js +11 -23
- package/build/core/playwright/helpers/configFileNameProvider.js +3 -9
- package/build/core/playwright/index.js +10 -23
- package/build/core/playwright/readConfigFile.js +22 -22
- package/build/core/playwright/setup/config-creator.js +8 -9
- package/build/core/playwright/setup/config-utils.js +8 -25
- package/build/core/playwright/test-runner.js +4 -5
- package/build/decorators.d.ts +1 -1
- package/build/decorators.js +1 -1
- package/build/utils/cliArgsToObject.js +0 -3
- package/npm-shrinkwrap.json +5800 -2149
- package/package.json +7 -7
- package/playwright.config.js +1 -1
- package/build/bdd-framework/cli/commands/env.js +0 -42
- package/build/bdd-framework/cli/commands/export.js +0 -62
- package/build/bdd-framework/cli/commands/test.js +0 -64
- package/build/bdd-framework/cli/index.js +0 -11
- package/build/bdd-framework/cli/options.js +0 -19
- package/build/bdd-framework/cli/worker.js +0 -13
- package/build/bdd-framework/config/configDir.js +0 -35
- package/build/bdd-framework/config/enrichReporterData.js +0 -23
- package/build/bdd-framework/config/env.js +0 -50
- package/build/bdd-framework/config/index.js +0 -94
- package/build/bdd-framework/config/lang.js +0 -14
- package/build/bdd-framework/cucumber/buildStepDefinition.js +0 -43
- package/build/bdd-framework/cucumber/createTestStep.js +0 -43
- package/build/bdd-framework/cucumber/formatter/EventDataCollector.js +0 -126
- package/build/bdd-framework/cucumber/formatter/GherkinDocumentParser.js +0 -72
- package/build/bdd-framework/cucumber/formatter/PickleParser.js +0 -25
- package/build/bdd-framework/cucumber/formatter/durationHelpers.js +0 -13
- package/build/bdd-framework/cucumber/formatter/getColorFns.js +0 -57
- package/build/bdd-framework/cucumber/formatter/index.js +0 -16
- package/build/bdd-framework/cucumber/formatter/locationHelpers.js +0 -16
- package/build/bdd-framework/cucumber/loadConfig.js +0 -17
- package/build/bdd-framework/cucumber/loadFeatures.js +0 -70
- package/build/bdd-framework/cucumber/loadSnippetBuilder.js +0 -20
- package/build/bdd-framework/cucumber/loadSteps.js +0 -47
- package/build/bdd-framework/cucumber/resolveFeaturePaths.js +0 -62
- package/build/bdd-framework/cucumber/stepArguments.js +0 -21
- package/build/bdd-framework/cucumber/types.js +0 -5
- package/build/bdd-framework/cucumber/valueChecker.js +0 -23
- package/build/bdd-framework/decorators.js +0 -18
- package/build/bdd-framework/gen/fixtures.js +0 -48
- package/build/bdd-framework/gen/formatter.js +0 -167
- package/build/bdd-framework/gen/i18n.js +0 -39
- package/build/bdd-framework/gen/index.js +0 -197
- package/build/bdd-framework/gen/specialTags.js +0 -70
- package/build/bdd-framework/gen/testFile.js +0 -470
- package/build/bdd-framework/gen/testMeta.js +0 -60
- package/build/bdd-framework/gen/testNode.js +0 -35
- package/build/bdd-framework/gen/testPoms.js +0 -133
- package/build/bdd-framework/hooks/scenario.js +0 -130
- package/build/bdd-framework/hooks/worker.js +0 -89
- package/build/bdd-framework/index.js +0 -52
- package/build/bdd-framework/playwright/fixtureParameterNames.js +0 -93
- package/build/bdd-framework/playwright/getLocationInFile.js +0 -79
- package/build/bdd-framework/playwright/loadConfig.js +0 -42
- package/build/bdd-framework/playwright/loadUtils.js +0 -33
- package/build/bdd-framework/playwright/testTypeImpl.js +0 -79
- package/build/bdd-framework/playwright/transform.js +0 -88
- package/build/bdd-framework/playwright/types.js +0 -12
- package/build/bdd-framework/playwright/utils.js +0 -56
- package/build/bdd-framework/reporter/cucumber/base.js +0 -52
- package/build/bdd-framework/reporter/cucumber/custom.js +0 -73
- package/build/bdd-framework/reporter/cucumber/helper.js +0 -12
- package/build/bdd-framework/reporter/cucumber/html.js +0 -40
- package/build/bdd-framework/reporter/cucumber/index.js +0 -74
- package/build/bdd-framework/reporter/cucumber/json.js +0 -312
- package/build/bdd-framework/reporter/cucumber/junit.js +0 -205
- package/build/bdd-framework/reporter/cucumber/message.js +0 -20
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/AttachmentMapper.js +0 -82
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Builder.js +0 -197
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocument.js +0 -43
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocumentClone.js +0 -52
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/GherkinDocuments.js +0 -105
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Hook.js +0 -70
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Meta.js +0 -45
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Pickles.js +0 -27
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/Projects.js +0 -38
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCase.js +0 -128
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRun.js +0 -154
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestCaseRunHooks.js +0 -123
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepAttachments.js +0 -67
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/TestStepRun.js +0 -114
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/index.js +0 -30
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/pwStepUtils.js +0 -70
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/timing.js +0 -35
- package/build/bdd-framework/reporter/cucumber/messagesBuilder/types.js +0 -5
- package/build/bdd-framework/run/StepInvoker.js +0 -69
- package/build/bdd-framework/run/bddData/index.js +0 -59
- package/build/bdd-framework/run/bddData/types.js +0 -5
- package/build/bdd-framework/run/bddFixtures.js +0 -192
- package/build/bdd-framework/run/bddWorld.js +0 -79
- package/build/bdd-framework/run/bddWorldInternal.js +0 -11
- package/build/bdd-framework/snippets/index.js +0 -132
- package/build/bdd-framework/snippets/snippetSyntax.js +0 -43
- package/build/bdd-framework/snippets/snippetSyntaxDecorators.js +0 -26
- package/build/bdd-framework/snippets/snippetSyntaxTs.js +0 -18
- package/build/bdd-framework/stepDefinitions/createBdd.js +0 -66
- package/build/bdd-framework/stepDefinitions/decorators/class.js +0 -68
- package/build/bdd-framework/stepDefinitions/decorators/steps.js +0 -99
- package/build/bdd-framework/stepDefinitions/defineStep.js +0 -62
- package/build/bdd-framework/stepDefinitions/stepConfig.js +0 -24
- package/build/bdd-framework/steps/createBdd.js +0 -78
- package/build/bdd-framework/steps/decorators/class.js +0 -68
- package/build/bdd-framework/steps/decorators/steps.js +0 -98
- package/build/bdd-framework/steps/defineStep.js +0 -62
- package/build/bdd-framework/steps/stepConfig.js +0 -24
- package/build/bdd-framework/utils/AutofillMap.js +0 -20
- package/build/bdd-framework/utils/exit.js +0 -62
- package/build/bdd-framework/utils/index.js +0 -93
- package/build/bdd-framework/utils/jsStringWrap.js +0 -44
- package/build/bdd-framework/utils/logger.js +0 -30
- package/build/bdd-framework/utils/stripAnsiEscapes.js +0 -20
- package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +0 -34
package/README.md
CHANGED
|
@@ -26,6 +26,25 @@
|
|
|
26
26
|
### Bug fix
|
|
27
27
|
- Updated the custom-reported to include the errors in tests during the executions. It will help us avoid the stage passed without the actual test execution.
|
|
28
28
|
|
|
29
|
+
|
|
30
|
+
## Version History
|
|
31
|
+
|
|
32
|
+
### v0.2.9 - 30-09-2024
|
|
33
|
+
|
|
34
|
+
#### Features
|
|
35
|
+
- Added support for scenario level tag support
|
|
36
|
+
- Updated the configuration for `video` and `trace` to accept Playwright-specific values instead of boolean values.
|
|
37
|
+
- Below package versions are updated in this release.
|
|
38
|
+
- playwright - 1.47.2,
|
|
39
|
+
- playwright-bdd - 7.4.2,
|
|
40
|
+
- @playwright/test - 1.47.2,
|
|
41
|
+
- @cucumber/cucumber - 11.0.1
|
|
42
|
+
- From this version, We adopt the playwright-bdd as library instead of modified source
|
|
43
|
+
|
|
44
|
+
#### Deprecations
|
|
45
|
+
- **Deprecated**: Passing `video` and `trace` as boolean (`true`/`false`) in project configuration.
|
|
46
|
+
- **New Approach**: Use Playwright values for `video` and `trace` options, such as `'on'`, `'retain-on-failure'`, or `'off'`.
|
|
47
|
+
|
|
29
48
|
### v0.2.9 - 08-10-2024
|
|
30
49
|
|
|
31
50
|
#### Feature
|
|
@@ -12,9 +12,16 @@ var _configFileNameProvider = require("../helpers/configFileNameProvider");
|
|
|
12
12
|
var _mergeObjects = require("../helpers/mergeObjects");
|
|
13
13
|
var _fs = require("fs");
|
|
14
14
|
const Configuration = require("./Configuration");
|
|
15
|
+
function checkForDeprecatedKeys(configKey) {
|
|
16
|
+
let deprecatedConfigInUatConfigFile = ['mode'];
|
|
17
|
+
if (deprecatedConfigInUatConfigFile.includes(configKey)) {
|
|
18
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `key ${configKey} is deprecated. Please use other options`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
15
21
|
function combineConfiguration(defaultConfig, userConfiguration) {
|
|
16
22
|
let configurationObj = {};
|
|
17
23
|
Object.keys(userConfiguration).forEach(configKey => {
|
|
24
|
+
checkForDeprecatedKeys(configKey);
|
|
18
25
|
let configValue = userConfiguration[configKey];
|
|
19
26
|
if (configValue !== null && configValue !== undefined) {
|
|
20
27
|
configurationObj[configKey] = configValue;
|
|
@@ -26,10 +33,10 @@ function combineConfiguration(defaultConfig, userConfiguration) {
|
|
|
26
33
|
});
|
|
27
34
|
return (0, _mergeObjects.mergeObjects)(defaultConfig, configurationObj);
|
|
28
35
|
}
|
|
29
|
-
function getApplicationConfig(
|
|
36
|
+
function getApplicationConfig() {
|
|
30
37
|
let filePath = "";
|
|
31
38
|
try {
|
|
32
|
-
filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)(
|
|
39
|
+
filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
|
|
33
40
|
if (!(0, _fs.existsSync)(filePath)) {
|
|
34
41
|
throw new Error("Exception while getting the uat file from the application - " + filePath);
|
|
35
42
|
}
|
|
@@ -10,6 +10,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
10
10
|
var _configFileNameProvider = require("./helpers/configFileNameProvider");
|
|
11
11
|
var _logger = require("../../utils/logger");
|
|
12
12
|
var _getUsers = require("./helpers/auth/getUsers");
|
|
13
|
+
var _readConfigFile = require("./readConfigFile");
|
|
13
14
|
function setEnvironmentVariables(configJSON) {
|
|
14
15
|
for (const key in configJSON) {
|
|
15
16
|
process.env[key] = configJSON[key];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _test = require("@playwright/test");
|
|
5
|
+
var _playwrightBdd = require("playwright-bdd");
|
|
6
|
+
var _readConfigFile = require("./readConfigFile");
|
|
7
|
+
var _builtInFixtures = _interopRequireDefault(require("./builtInFixtures"));
|
|
8
|
+
var _getUserFixtures = _interopRequireDefault(require("./helpers/getUserFixtures"));
|
|
9
|
+
const {
|
|
10
|
+
bddMode
|
|
11
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
12
|
+
let base = bddMode ? _playwrightBdd.test : _test.test;
|
|
13
|
+
const buildInFixtures = (0, _builtInFixtures.default)();
|
|
14
|
+
const buildInFixturesTest = base.extend({
|
|
15
|
+
...buildInFixtures
|
|
16
|
+
});
|
|
17
|
+
const userFixtures = (0, _getUserFixtures.default)();
|
|
18
|
+
const userFixturesTest = base.extend({
|
|
19
|
+
...userFixtures
|
|
20
|
+
});
|
|
21
|
+
const test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
|
|
22
|
+
module.exports = {
|
|
23
|
+
test
|
|
24
|
+
};
|
|
@@ -33,17 +33,12 @@ function getDefaultActorConf() {
|
|
|
33
33
|
const {
|
|
34
34
|
uatDirectory
|
|
35
35
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
36
|
-
const
|
|
37
|
-
const filePath = _path.default.join(uatDirectory,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const defaultSettingsFile = _path.default.join(uatDirectory, `conf/default/settings.json`);
|
|
41
|
-
return require(defaultSettingsFile);
|
|
42
|
-
}
|
|
43
|
-
return require(filePath);
|
|
44
|
-
} catch (error) {
|
|
45
|
-
throw new Error(`${defaultSettingFile} ${filePath} both files are missing.`);
|
|
36
|
+
const defaultSettingFile = `conf/${getRunMode()}/settings.json`;
|
|
37
|
+
const filePath = _path.default.join(uatDirectory, defaultSettingFile);
|
|
38
|
+
if (!(0, _fs.existsSync)(filePath)) {
|
|
39
|
+
throw new Error(`${defaultSettingFile} is missing.`);
|
|
46
40
|
}
|
|
41
|
+
return require(filePath);
|
|
47
42
|
}
|
|
48
43
|
function getDefaultActor() {
|
|
49
44
|
const {
|
|
@@ -57,25 +52,18 @@ function getListOfActors() {
|
|
|
57
52
|
uatDirectory
|
|
58
53
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
59
54
|
const mode = getRunMode();
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
try {
|
|
65
|
-
return require(configFile);
|
|
66
|
-
} catch (error) {
|
|
67
|
-
throw new Error(`Error loading actor configuration from ${configFile}`);
|
|
55
|
+
const configFile = `conf/${mode}/actors/index`;
|
|
56
|
+
const filePath = _path.default.join(uatDirectory, configFile);
|
|
57
|
+
if (!(0, _fs.existsSync)(filePath + '.js')) {
|
|
58
|
+
throw new Error(`${configFile}.js is missing.`);
|
|
68
59
|
}
|
|
60
|
+
return require(filePath);
|
|
69
61
|
}
|
|
70
62
|
function getUserForSelectedEditionAndProfile(preferedEdition, preferredProfile, betaFeature, testDataPortal = null) {
|
|
71
|
-
const actorsData = getListOfActors();
|
|
72
|
-
if (!actorsData || !actorsData.editions) {
|
|
73
|
-
throw new Error("The actors data is missing.");
|
|
74
|
-
}
|
|
75
63
|
const {
|
|
76
64
|
editions: userdata,
|
|
77
65
|
beta: betaPortals
|
|
78
|
-
} =
|
|
66
|
+
} = getListOfActors();
|
|
79
67
|
const defaultConf = getDefaultActorConf();
|
|
80
68
|
const edition = preferedEdition || defaultConf.edition;
|
|
81
69
|
const profile = preferredProfile || defaultConf.profile;
|
|
@@ -9,14 +9,8 @@ exports.getReportFileName = getReportFileName;
|
|
|
9
9
|
exports.getUATFileName = getUATFileName;
|
|
10
10
|
var _path = _interopRequireDefault(require("path"));
|
|
11
11
|
var _fs = _interopRequireDefault(require("fs"));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
mode = mode || (0, _auth.getRunMode)();
|
|
15
|
-
const uatConfFilePath = _path.default.resolve(process.cwd(), `uat/conf/${mode}/uat.config.js`);
|
|
16
|
-
if (_fs.default.existsSync(uatConfFilePath)) {
|
|
17
|
-
return uatConfFilePath;
|
|
18
|
-
}
|
|
19
|
-
return _path.default.resolve(process.cwd(), `uat.config.js`);
|
|
12
|
+
function getUATFileName() {
|
|
13
|
+
return 'uat.config.js';
|
|
20
14
|
}
|
|
21
15
|
function getEnvConfigFilePath(mode) {
|
|
22
16
|
const confFilePath = _path.default.resolve(process.cwd(), `uat/conf/${mode}/settings.json`);
|
|
@@ -24,7 +18,7 @@ function getEnvConfigFilePath(mode) {
|
|
|
24
18
|
if (_fs.default.existsSync(confFilePath)) {
|
|
25
19
|
return `uat/conf/${mode}/settings.json`;
|
|
26
20
|
}
|
|
27
|
-
return `uat/
|
|
21
|
+
return `uat/env-config.json`;
|
|
28
22
|
}
|
|
29
23
|
function getReportFileName() {
|
|
30
24
|
return `test-summary.json`;
|
|
@@ -1,37 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
|
|
6
|
+
exports.createBdd = void 0;
|
|
7
|
+
Object.defineProperty(exports, "expect", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function () {
|
|
10
|
-
return
|
|
10
|
+
return _test.expect;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
Object.defineProperty(exports, "
|
|
13
|
+
Object.defineProperty(exports, "test", {
|
|
14
14
|
enumerable: true,
|
|
15
15
|
get: function () {
|
|
16
|
-
return
|
|
16
|
+
return _playwrightBdd.test;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
|
|
20
|
-
var _bddFramework = require("../../bdd-framework");
|
|
19
|
+
var _playwrightBdd = require("playwright-bdd");
|
|
21
20
|
var _test = require("@playwright/test");
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
bddMode
|
|
27
|
-
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
28
|
-
let base = bddMode ? _bddFramework.test : _test.test;
|
|
29
|
-
const buildInFixtures = (0, _builtInFixtures.default)(bddMode);
|
|
30
|
-
const buildInFixturesTest = base.extend({
|
|
31
|
-
...buildInFixtures
|
|
32
|
-
});
|
|
33
|
-
const userFixtures = (0, _getUserFixtures.default)();
|
|
34
|
-
const userFixturesTest = base.extend({
|
|
35
|
-
...userFixtures
|
|
36
|
-
});
|
|
37
|
-
const test = exports.test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
|
|
21
|
+
let createBdd = function () {
|
|
22
|
+
return (0, _playwrightBdd.createBdd)(_playwrightBdd.test);
|
|
23
|
+
};
|
|
24
|
+
exports.createBdd = createBdd;
|
|
@@ -13,17 +13,13 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
13
13
|
var _logger = require("../../utils/logger");
|
|
14
14
|
var _configFileNameProvider = require("./helpers/configFileNameProvider");
|
|
15
15
|
var _mergeObjects = require("./helpers/mergeObjects");
|
|
16
|
-
var _Configuration =
|
|
17
|
-
var _UserArgs = _interopRequireDefault(require("./configuration/UserArgs"));
|
|
18
|
-
var _ConfigurationHelper = require("./configuration/ConfigurationHelper");
|
|
16
|
+
var _Configuration = require("./configuration/Configuration");
|
|
19
17
|
let cachedConfig = null;
|
|
20
18
|
function getDefaultConfig() {
|
|
21
19
|
return {
|
|
22
20
|
uatDirectory: _path.default.join(process.cwd(), 'uat'),
|
|
23
21
|
headless: false,
|
|
24
22
|
browsers: ['Chrome'],
|
|
25
|
-
forbidOnly: false,
|
|
26
|
-
retries: 0,
|
|
27
23
|
trace: false,
|
|
28
24
|
video: false,
|
|
29
25
|
isAuthMode: false,
|
|
@@ -38,18 +34,26 @@ function getDefaultConfig() {
|
|
|
38
34
|
height: 720
|
|
39
35
|
},
|
|
40
36
|
debug: false,
|
|
41
|
-
|
|
37
|
+
mode: process.env.mode || 'dev',
|
|
42
38
|
additionalPages: {},
|
|
43
39
|
featureFilesFolder: 'feature-files',
|
|
44
40
|
stepDefinitionsFolder: 'steps',
|
|
41
|
+
testIdAttribute: 'data-testid',
|
|
45
42
|
testSetup: {},
|
|
46
43
|
editionOrder: ['Free', 'Express', 'Standard', 'Professional', 'Enterprise']
|
|
47
44
|
};
|
|
48
45
|
}
|
|
46
|
+
function checkForDeprecatedKeys(configKey) {
|
|
47
|
+
let deprecatedConfigInUatConfigFile = ['mode'];
|
|
48
|
+
if (deprecatedConfigInUatConfigFile.includes(configKey)) {
|
|
49
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `key ${configKey} is deprecated. Please use other options`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
49
52
|
function combineDefaultConfigWithUserConfig(userConfiguration) {
|
|
50
53
|
let defaultConfig = getDefaultConfig();
|
|
51
54
|
let configurationObj = {};
|
|
52
55
|
Object.keys(userConfiguration).forEach(configKey => {
|
|
56
|
+
checkForDeprecatedKeys(configKey);
|
|
53
57
|
let configValue = userConfiguration[configKey];
|
|
54
58
|
if (configValue !== null && configValue !== undefined) {
|
|
55
59
|
configurationObj[configKey] = configValue;
|
|
@@ -108,26 +112,22 @@ function combineDefaultConfigWithUserConfig(userConfiguration) {
|
|
|
108
112
|
*
|
|
109
113
|
* @returns {UserConfig}
|
|
110
114
|
*/
|
|
111
|
-
|
|
112
|
-
function getConfigFilePath() {
|
|
113
|
-
return _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
|
|
114
|
-
}
|
|
115
115
|
function generateConfigFromFile() {
|
|
116
|
-
if (cachedConfig
|
|
117
|
-
//
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
116
|
+
if (cachedConfig !== null) {
|
|
117
|
+
return cachedConfig; // If cached, return the cached configuration
|
|
118
|
+
}
|
|
119
|
+
const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
|
|
120
|
+
if ((0, _fs.existsSync)(filePath)) {
|
|
121
|
+
/** @type {UserConfig} */
|
|
122
|
+
const config = require(filePath);
|
|
123
|
+
const modifiedConfiguration = combineDefaultConfigWithUserConfig(config);
|
|
124
|
+
cachedConfig = modifiedConfiguration;
|
|
125
|
+
return modifiedConfiguration;
|
|
126
126
|
}
|
|
127
|
-
return
|
|
127
|
+
return {};
|
|
128
128
|
}
|
|
129
129
|
function isUserConfigFileAvailable() {
|
|
130
|
-
const filePath =
|
|
130
|
+
const filePath = _path.default.resolve(process.cwd(), (0, _configFileNameProvider.getUATFileName)());
|
|
131
131
|
if ((0, _fs.existsSync)(filePath)) {
|
|
132
132
|
return true;
|
|
133
133
|
}
|
|
@@ -9,7 +9,6 @@ var _test = require("@playwright/test");
|
|
|
9
9
|
var _path = _interopRequireDefault(require("path"));
|
|
10
10
|
var _readConfigFile = require("../readConfigFile");
|
|
11
11
|
var _configUtils = require("./config-utils");
|
|
12
|
-
const uatConfig = (0, _readConfigFile.generateConfigFromFile)();
|
|
13
12
|
const {
|
|
14
13
|
browsers,
|
|
15
14
|
trace,
|
|
@@ -26,7 +25,7 @@ const {
|
|
|
26
25
|
stepDefinitionsFolder,
|
|
27
26
|
testIdAttribute,
|
|
28
27
|
globalTimeout
|
|
29
|
-
} =
|
|
28
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
30
29
|
const projects = (0, _configUtils.getProjects)({
|
|
31
30
|
browsers,
|
|
32
31
|
isAuthMode,
|
|
@@ -39,12 +38,12 @@ const testDir = (0, _configUtils.getTestDir)(bddMode, process.cwd(), {
|
|
|
39
38
|
featureFilesFolder,
|
|
40
39
|
stepDefinitionsFolder
|
|
41
40
|
});
|
|
42
|
-
const
|
|
41
|
+
const use = {
|
|
43
42
|
trace,
|
|
44
43
|
video,
|
|
45
44
|
viewport,
|
|
46
45
|
testIdAttribute
|
|
47
|
-
}
|
|
46
|
+
};
|
|
48
47
|
|
|
49
48
|
/**
|
|
50
49
|
* Playwright configuration object
|
|
@@ -52,11 +51,13 @@ const testOptions = (0, _configUtils.getTestUseOptions)({
|
|
|
52
51
|
* @returns {import('@playwright/test').PlaywrightTestConfig}
|
|
53
52
|
*/
|
|
54
53
|
function getPlaywrightConfig() {
|
|
55
|
-
|
|
54
|
+
return {
|
|
56
55
|
testDir,
|
|
57
56
|
globalTimeout: globalTimeout || 3600000,
|
|
58
57
|
outputDir: _path.default.join(process.cwd(), 'uat', 'test-results'),
|
|
59
58
|
fullyParallel: true,
|
|
59
|
+
forbidOnly: !!process.env.CI,
|
|
60
|
+
retries: process.env.CI ? 2 : 0,
|
|
60
61
|
reporter: [['html', {
|
|
61
62
|
outputFolder: reportPath,
|
|
62
63
|
open: openReportOn
|
|
@@ -65,7 +66,7 @@ function getPlaywrightConfig() {
|
|
|
65
66
|
expect: {
|
|
66
67
|
timeout: expectTimeout
|
|
67
68
|
},
|
|
68
|
-
use
|
|
69
|
+
use,
|
|
69
70
|
projects: isAuthMode ? [{
|
|
70
71
|
name: 'setup',
|
|
71
72
|
testMatch: /.*\.setup\.js/,
|
|
@@ -75,9 +76,7 @@ function getPlaywrightConfig() {
|
|
|
75
76
|
name: 'cleanup',
|
|
76
77
|
testMatch: /.*\.teardown\.js/,
|
|
77
78
|
testDir: _path.default.join(process.cwd(), 'uat')
|
|
78
|
-
}, ...projects] : [...projects]
|
|
79
|
-
...uatConfig
|
|
79
|
+
}, ...projects] : [...projects]
|
|
80
80
|
};
|
|
81
|
-
return playwrightConfig;
|
|
82
81
|
}
|
|
83
82
|
var _default = exports.default = (0, _test.defineConfig)(getPlaywrightConfig());
|
|
@@ -7,14 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.getBrowsersList = getBrowsersList;
|
|
8
8
|
exports.getProjects = getProjects;
|
|
9
9
|
exports.getTestDir = getTestDir;
|
|
10
|
-
exports.getTestUseOptions = getTestUseOptions;
|
|
11
10
|
var _test = require("@playwright/test");
|
|
12
11
|
var _path = _interopRequireDefault(require("path"));
|
|
13
12
|
var _readConfigFile = require("../readConfigFile");
|
|
14
|
-
var
|
|
13
|
+
var _playwrightBdd = require("playwright-bdd");
|
|
15
14
|
var _logger = require("../../../utils/logger");
|
|
16
15
|
var _browserTypes = require("../constants/browserTypes");
|
|
17
|
-
var _configFileNameProvider = require("../helpers/configFileNameProvider");
|
|
18
16
|
var _fileUtils = require("../../../utils/fileUtils");
|
|
19
17
|
/**
|
|
20
18
|
** Playwright project configuration
|
|
@@ -148,30 +146,15 @@ function getPathsForFeatureFiles(cwd) {
|
|
|
148
146
|
function getTestDir(bddMode, cwd, {
|
|
149
147
|
stepDefinitionsFolder
|
|
150
148
|
}) {
|
|
151
|
-
return bddMode ? (0,
|
|
152
|
-
|
|
153
|
-
|
|
149
|
+
return bddMode ? (0, _playwrightBdd.defineBddConfig)({
|
|
150
|
+
features: getPathsForFeatureFiles(cwd),
|
|
151
|
+
steps: [_path.default.join(cwd, 'uat', '**', stepDefinitionsFolder, '*.spec.js'), require.resolve('../fixtures.js')],
|
|
152
|
+
importTestFrom: require.resolve('../fixtures.js'),
|
|
154
153
|
featuresRoot: _path.default.join(cwd, 'uat'),
|
|
155
154
|
outputDir: _path.default.join(cwd, 'uat', '.features-gen'),
|
|
155
|
+
disableWarnings: {
|
|
156
|
+
importTestFrom: true
|
|
157
|
+
},
|
|
156
158
|
publish: true
|
|
157
159
|
}) : _path.default.join(cwd, 'uat');
|
|
158
|
-
}
|
|
159
|
-
function getTestUseOptions({
|
|
160
|
-
viewport,
|
|
161
|
-
trace,
|
|
162
|
-
video,
|
|
163
|
-
testIdAttribute
|
|
164
|
-
}) {
|
|
165
|
-
let defaultTestuseOptions = {
|
|
166
|
-
viewport,
|
|
167
|
-
testIdAttribute,
|
|
168
|
-
trace: trace ? 'on' : 'off',
|
|
169
|
-
video: video ? {
|
|
170
|
-
mode: 'on',
|
|
171
|
-
size: {
|
|
172
|
-
...viewport
|
|
173
|
-
}
|
|
174
|
-
} : 'off'
|
|
175
|
-
};
|
|
176
|
-
return defaultTestuseOptions;
|
|
177
160
|
}
|
|
@@ -42,7 +42,7 @@ function getPlaywrightArgs(userArgsObject, debug, bddMode, tagArgs, headless) {
|
|
|
42
42
|
}
|
|
43
43
|
function runPreprocessing(tagArgs, configPath) {
|
|
44
44
|
const beforeCommand = 'node';
|
|
45
|
-
const bddGenPath = _path.default.resolve(
|
|
45
|
+
const bddGenPath = _path.default.resolve((0, _rootPath.getExecutableBinaryPath)('bddgen'));
|
|
46
46
|
const beforeArgs = [bddGenPath, '-c', configPath];
|
|
47
47
|
if (tagArgs) {
|
|
48
48
|
beforeArgs.push('--tags');
|
|
@@ -103,16 +103,15 @@ function main() {
|
|
|
103
103
|
const uatConfig = new _Configuration.default((0, _readConfigFile.getDefaultConfig)());
|
|
104
104
|
|
|
105
105
|
// overriding the application config's from project
|
|
106
|
-
|
|
107
|
-
const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
|
|
108
|
-
const mode = userArgConfig.get("mode");
|
|
109
|
-
uatConfig.addAll(new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)(mode)));
|
|
106
|
+
uatConfig.addAll(new _Configuration.default((0, _ConfigurationHelper.getApplicationConfig)()));
|
|
110
107
|
|
|
111
108
|
// overriding the user config's from CLI
|
|
109
|
+
const userArgConfig = new _Configuration.default(_UserArgs.default.parseToObject(process.argv.slice(2)));
|
|
112
110
|
uatConfig.addAll(userArgConfig);
|
|
113
111
|
const {
|
|
114
112
|
isAuthMode,
|
|
115
113
|
editionOrder,
|
|
114
|
+
mode,
|
|
116
115
|
debug,
|
|
117
116
|
bddMode = false,
|
|
118
117
|
headless = false
|
package/build/decorators.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from 'playwright-bdd/decorators';
|
package/build/decorators.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _decorators = require("
|
|
6
|
+
var _decorators = require("playwright-bdd/decorators");
|
|
7
7
|
Object.keys(_decorators).forEach(function (key) {
|
|
8
8
|
if (key === "default" || key === "__esModule") return;
|
|
9
9
|
if (key in exports && exports[key] === _decorators[key]) return;
|