@zohodesk/testinglibrary 0.0.51-n20-experimental → 0.0.52-n20-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.
Files changed (31) hide show
  1. package/.claude/worktrees/thirsty-yalow/.babelrc +24 -0
  2. package/.claude/worktrees/thirsty-yalow/.eslintrc.js +31 -0
  3. package/.claude/worktrees/thirsty-yalow/.gitlab-ci.yml +208 -0
  4. package/.claude/worktrees/thirsty-yalow/.prettierrc +6 -0
  5. package/.claude/worktrees/thirsty-yalow/README.md +234 -0
  6. package/.claude/worktrees/thirsty-yalow/bin/cli.js +3 -0
  7. package/.claude/worktrees/thirsty-yalow/bin/postinstall.js +1 -0
  8. package/.claude/worktrees/thirsty-yalow/changelog.md +167 -0
  9. package/.claude/worktrees/thirsty-yalow/jest.config.js +82 -0
  10. package/.claude/worktrees/thirsty-yalow/package.json +62 -0
  11. package/.claude/worktrees/thirsty-yalow/playwright.config.js +62 -0
  12. package/AUTO_CLEANUP_PLAN.md +171 -0
  13. package/README.md +8 -0
  14. package/build/common/data-generator/steps/DataGenerator.spec.js +1 -1
  15. package/build/common/data-generator/steps/DataGeneratorStepsHelper.js +18 -4
  16. package/build/core/dataGenerator/DataGenerator.js +63 -15
  17. package/build/core/dataGenerator/validateGenerators.js +82 -0
  18. package/build/core/playwright/builtInFixtures/cacheLayer.js +171 -2
  19. package/build/core/playwright/constants/reporterConstants.js +0 -1
  20. package/build/core/playwright/helpers/auth/getUsers.js +2 -2
  21. package/build/core/playwright/readConfigFile.js +3 -1
  22. package/build/core/playwright/report-generator.js +42 -0
  23. package/build/core/playwright/validateFeature.js +11 -0
  24. package/build/lib/cli.js +7 -30
  25. package/build/utils/commonUtils.js +0 -9
  26. package/changelog.md +27 -0
  27. package/npm-shrinkwrap.json +413 -314
  28. package/package.json +8 -9
  29. package/.vscode/mcp.json +0 -9
  30. package/build/core/playwright/reporter/PlaywrightReporter.js +0 -44
  31. package/build/core/playwright/reporter/UnitReporter.js +0 -27
@@ -0,0 +1,24 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "targets": {
7
+ "node": "14"
8
+ },
9
+ // We are adding plugin @babel/plugin-transform-destructuring to ensure babel does not transform the destructing
10
+ // as playwright does not allow parameters without destrucring
11
+ "exclude": ["@babel/plugin-transform-destructuring"]
12
+ }
13
+ ]
14
+ ],
15
+ "plugins": [
16
+ ["@babel/plugin-transform-runtime"],
17
+ ["@babel/plugin-transform-modules-commonjs"]
18
+ ],
19
+ // Ignored as these are setup files needed during init script. Files inside that folder are copied not transformed
20
+ "ignore": [
21
+ "./src/setup-folder-structure/samples",
22
+ "./src/common/**"
23
+ ]
24
+ }
@@ -0,0 +1,31 @@
1
+ module.exports = {
2
+ "env": {
3
+ "node": true,
4
+ "es2021": true
5
+ },
6
+ "extends": "eslint:recommended",
7
+ "overrides": [
8
+ {
9
+ "env": {
10
+ "node": true
11
+ },
12
+ "files": [
13
+ ".eslintrc.{js,cjs}"
14
+ ],
15
+ "parserOptions": {
16
+ "sourceType": "script"
17
+ }
18
+ }
19
+ ],
20
+ "parserOptions": {
21
+ "ecmaVersion": "latest",
22
+ "sourceType": "module"
23
+ },
24
+ "rules": {
25
+ "indent": ["error", 2, { "SwitchCase": 1 }],
26
+ "no-empty-pattern": "off",
27
+ "comma-dangle": ["error", "never"],
28
+ "curly": ["error"],
29
+ "brace-style": "error"
30
+ }
31
+ }
@@ -0,0 +1,208 @@
1
+ image: zdesk-auto13.csez.zohocorpin.com/long-term-storage/node18-npm10:v2
2
+
3
+ workflow:
4
+ rules:
5
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
6
+ when: always
7
+ - if: $CI_PIPELINE_SOURCE == "web"
8
+ when: always
9
+
10
+ stages:
11
+ - build
12
+ - unit
13
+ - uat
14
+
15
+ default:
16
+ cache:
17
+ key: build-cache
18
+ paths:
19
+ - node_modules
20
+ - build
21
+ - npm-shrinkwrap.json
22
+
23
+ # Install dependencies stage
24
+ build:
25
+ stage: build
26
+ script:
27
+ - npm -v
28
+ - node -v
29
+ - npm install --ignore-scripts
30
+ - npm run build
31
+ - npm install
32
+ - npm shrinkwrap
33
+ - npm run build
34
+
35
+ # Unit tests stage
36
+ unit:
37
+ stage: unit
38
+ script:
39
+ - npm run test
40
+ artifacts:
41
+ when: always
42
+ paths:
43
+ - unit_reports
44
+
45
+ # UAT tests stage
46
+ uat-auth:
47
+ stage: uat
48
+ script:
49
+ - cd examples
50
+ - npm install $(npm pack ../../testing-framework | tail -1)
51
+ - output=$(npm run uatauth)
52
+ - echo "$output"
53
+ - node ../ValidateUATReport.js examples
54
+
55
+ artifacts:
56
+ when: always
57
+ paths:
58
+ - examples/uat/playwright-report
59
+
60
+ uat-noauth:
61
+ stage: uat
62
+ script:
63
+ - cd examples
64
+ - npm install $(npm pack ../../testing-framework | tail -1)
65
+ - output=$(npm run uatnoauth)
66
+ - echo "$output"
67
+ - node ../ValidateUATReport.js examples
68
+
69
+ artifacts:
70
+ when: always
71
+ paths:
72
+ - examples/uat/playwright-report
73
+
74
+ uat-profile:
75
+ stage: uat
76
+ script:
77
+ - cd examples
78
+ - npm install $(npm pack ../../testing-framework | tail -1)
79
+ - output=$(npm run uatprofile)
80
+ - echo "$output"
81
+ - node ../ValidateUATReport.js examples
82
+
83
+ artifacts:
84
+ when: always
85
+ paths:
86
+ - examples/uat/playwright-report
87
+
88
+
89
+ uat-unauth:
90
+ stage: uat
91
+ script:
92
+ - cd examples
93
+ - npm install $(npm pack ../../testing-framework | tail -1)
94
+ - output=$(npm run uatunauth)
95
+ - echo "$output"
96
+ - node ../ValidateUATReport.js examples
97
+
98
+
99
+ artifacts:
100
+ when: always
101
+ paths:
102
+ - examples/uat/playwright-report
103
+
104
+ uat-nobdd:
105
+ stage: uat
106
+ script:
107
+ - cd nobdd
108
+ - npm install $(npm pack ../../testing-framework | tail -1)
109
+ - output=$(npm run uatnobdd -- --headless)
110
+ - echo "$output"
111
+ - node ../ValidateUATReport.js nobdd
112
+
113
+
114
+ artifacts:
115
+ when: always
116
+ paths:
117
+ - nobdd/uat/playwright-report
118
+
119
+
120
+ uatmodule:
121
+ stage: uat
122
+ script:
123
+ - cd examples
124
+ - npm install $(npm pack ../../testing-framework | tail -1)
125
+ - output=$(npm run uatmodule)
126
+ - echo "$output"
127
+ - node ../ValidateUATReport.js examples
128
+
129
+
130
+ artifacts:
131
+ when: always
132
+ paths:
133
+ - examples/uat/playwright-report
134
+
135
+ uatconfigmodule:
136
+ stage: uat
137
+ script:
138
+ - cd examples
139
+ - npm install $(npm pack ../../testing-framework | tail -1)
140
+ - output=$(npm run uatconfigmodule)
141
+ - echo "$output"
142
+ - node ../ValidateUATReport.js examples
143
+
144
+ artifacts:
145
+ when: always
146
+ paths:
147
+ - examples/uat/playwright-report
148
+
149
+ uat-smoketest:
150
+ stage: uat
151
+ script:
152
+ - cd examples
153
+ - npm install $(npm pack ../../testing-framework | tail -1)
154
+ - output=$(npm run uat-smoketest)
155
+ - echo "$output"
156
+ - node ../ValidateUATReport.js examples
157
+
158
+ artifacts:
159
+ when: always
160
+ paths:
161
+ - examples/uat/playwright-report
162
+
163
+ uat-multiactor:
164
+ stage: uat
165
+ script:
166
+ - cd examples
167
+ - npm install $(npm pack ../../testing-framework | tail -1)
168
+ - output=$(npm run uat-multiactor)
169
+ - echo "$output"
170
+ - node ../ValidateUATReport.js examples
171
+
172
+ artifacts:
173
+ when: always
174
+ paths:
175
+ - examples/uat/playwright-report
176
+
177
+ uat-data_generator:
178
+ stage: uat
179
+ script:
180
+ - cd examples
181
+ - npm install $(npm pack ../../testing-framework | tail -1)
182
+ - output=$(npm run uat-data_generator)
183
+ - echo "$output"
184
+ - node ../ValidateUATReport.js examples
185
+
186
+ artifacts:
187
+ when: always
188
+ paths:
189
+ - examples/uat/playwright-report
190
+
191
+ uat-search_indexing:
192
+ stage: uat
193
+ script:
194
+ - cd examples
195
+ - npm install $(npm pack ../../testing-framework | tail -1)
196
+ - echo "Removing jsonpath from examples/node_modules to avoid conflicts"
197
+ - rm -rf node_modules/jsonpath || true
198
+ - output=$(npm run uat-search_indexing)
199
+ - echo "$output"
200
+ - node ../ValidateUATReport.js examples
201
+
202
+ artifacts:
203
+ when: always
204
+ paths:
205
+ - examples/uat/playwright-report
206
+
207
+
208
+
@@ -0,0 +1,6 @@
1
+ {
2
+ "trailingComma": "none",
3
+ "singleQuote": true,
4
+ "arrowParens": "avoid",
5
+ "jsxSingleQuote": true
6
+ }
@@ -0,0 +1,234 @@
1
+ # Testing Framework
2
+
3
+ ## Framework that abstracts the configuration for playwright and Jest
4
+
5
+ - Playwright
6
+ - Jest
7
+
8
+ ## Cli
9
+
10
+ ## Feature Supported
11
+
12
+ ### Run TestCase
13
+
14
+ - npm run test
15
+
16
+ ### Generate Report
17
+
18
+ - npm run report
19
+
20
+ ### v4.0.6/v3.2.21 - 22-01-2026
21
+
22
+ #### Bug fix
23
+ - Retry added for Missing Step Definitions Issue in the Feature Files
24
+
25
+ ### v4.0.4/v3.2.20 - 19-12-2025
26
+
27
+ #### Enhancement
28
+ - New common step provided for search index with the data generated entity
29
+
30
+ ### v4.0.3/v3.2.19 - 17-12-2025
31
+
32
+ #### Enhancement
33
+ - Cookie storage prefix support is provided in this version.
34
+
35
+
36
+ ### v4.0.2 - 16-12-2025
37
+
38
+ #### Bug Fixes
39
+
40
+ - Deprecated the react and react hooks from dependencies
41
+ - @cucumber/cucumber - 10.9.0 version downgraded due to Missing Step Definition Issue
42
+
43
+
44
+ ### v4.0.0 - 04-12-2025
45
+
46
+ #### Features
47
+ - Supported node 20 for the testing-framework
48
+
49
+ - Below package versions are updated in this release.
50
+ - playwright - 1.56.1,
51
+ - playwright-bdd - 8.4.2,
52
+ - @playwright/test - 1.56.1,
53
+ - @cucumber/cucumber - 12.2.0
54
+
55
+ ### v3.2.15 - 14-11-2025
56
+
57
+ #### Enhancement
58
+
59
+ - Aborted test results are now merged into the `.last-run.json` file.
60
+ This ensures that any timed-out tests are included in the next retry cycle.
61
+
62
+ ### v3.2.13 - 30-10-2025
63
+
64
+ #### Enhancement
65
+
66
+ - A teardown option has been introduced in the configuration to manage and clean up login sessions stored in the NFS environment.
67
+
68
+ ### Issue fix
69
+
70
+ - Custom teardown comment provided
71
+
72
+ ### v3.2.11 - 13-10-2025
73
+
74
+ ### Feature
75
+
76
+ - New step a search entity using {string} provided for search indexing, This step will use run time data generation response as input for the indexing
77
+
78
+
79
+ ### v3.2.9 - 26-09-2025
80
+
81
+ ### Enhancement
82
+
83
+ - Authentication deatils for data generation can be configured in org level
84
+ - reference link : https://learn.zoho.in/portal/zohocorp/knowledge/manual/client-uat/article/data-generation#_Tocpd3n7yt9ngeg
85
+
86
+
87
+ ### v3.2.8 - 18-09-2025
88
+
89
+ ### Bug fix
90
+
91
+ - Default profile switching handled in Multi actor – Improved handling of default profile switching to ensure smoother execution flow.
92
+
93
+ - QC Report tags issue fixed – Resolved an issue where QC Report tags were not displaying correctly in reports.
94
+
95
+ ### v3.2.7 - 10-09-2025
96
+
97
+ ### Bug fix
98
+ - Fixed a bug where the default profile page was not being handled properly in `this`.
99
+
100
+ ### v3.2.6 - 05-09-2025
101
+
102
+ #### Feature
103
+
104
+ - Multi-actor execution support – now possible to switch between multiple profile agents within scenarios using the predefined step: - `access the {string} profile page`
105
+
106
+ ### Bug fix
107
+
108
+ - Fixed the issue where localapp and hcapp UAT were not running properly.
109
+
110
+ ### v3.2.5 - 28-08-2025
111
+
112
+ #### Enhancement
113
+
114
+ - Removed the searchFake dependency from the project level and adopted it inside the framework, reducing project-side maintenance. use this predefined step: - `Given (a search entity)`
115
+
116
+ ### v3.2.4 - 29-07-2025
117
+
118
+ #### Feature
119
+ - Data Generator steps are now supported directly via the framework.
120
+
121
+ ### Bug fix
122
+ - Feature File Root Directory not found issue fixed
123
+
124
+ ### v3.2.3 - 29-07-2025
125
+
126
+ #### Feature
127
+ - Added support for running Smoke Tests in the UAT stage.
128
+
129
+ ### v3.2.0 - 22-06-2025
130
+
131
+ #### Feature
132
+ - Default required spec files are now auto-imported from the library into the project.
133
+
134
+ ### v3.1.13 - 02-07-2025
135
+
136
+ #### Enhancement
137
+ - Below package versions are updated in this release.
138
+ - @cucumber/Cucumber - 11.3.0
139
+ - Playwright/test - 1.53.2
140
+ - Playwright - 1.53.2
141
+ - Playwright-bdd - 8.3.1
142
+ - QC custom reporter changes have been adopted into the framework.
143
+
144
+ ### v3.1.5 - 22-05-2025
145
+
146
+ #### Feature
147
+ - Added support for Module Based Execution UAT stage.
148
+
149
+ ### v3.1.4 - 12-05-2025
150
+
151
+ #### Enhancement
152
+ - Playwright version 1.52.0 adopted in testing framework
153
+
154
+ ### v3.1.3 - 25-04-2025
155
+
156
+ #### Enhancement
157
+ - Playwright version 1.51.0 adopted in testing framework
158
+
159
+ ### v0.2.8 - 26-09-2024
160
+
161
+ #### Feature
162
+ - Added support for writing unitcases for framework implementations
163
+
164
+ ### Bug fix
165
+ - 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.
166
+
167
+
168
+ ### v3.0.8 - 25-12-2024
169
+
170
+ #### Enhancement
171
+ - Added support to disable headless mode using command line arguments
172
+ - Proper validation added for node 14 build process
173
+ - Removed unwanted uat.config.js files in test projects (examples / nobdd)
174
+
175
+ ### v0.2.9.2 - 22-11-2024
176
+
177
+ #### BugFix
178
+ - Implemented synchronization for the login process. This fix will help avoid login session-related failures in UAT.
179
+
180
+ ### v0.3.1 - 13-11-2024
181
+
182
+ #### Issue Fix
183
+ - Adding bddmode to get the fixtures.
184
+
185
+ ### v0.2.9.1 - 14-11-2024
186
+
187
+ #### Enhancement
188
+ - Beta feature Actors and edition configurations are unified
189
+
190
+ ### v0.2.9 - 25-10-2024
191
+
192
+ #### Feature
193
+ - Added support for scenario level tag support
194
+ - Added a new cli optin like uat-validate to validate the feature files using playwright-bdd
195
+ - Mode based configuration implementations
196
+ - @only option enabled in dev pipeline
197
+ - Latest setup related configuration changed for init option
198
+
199
+ ### v0.3.0 - 25-10-2024
200
+
201
+ #### Features
202
+ - Added support for scenario level tag support
203
+ - Updated the configuration for `video` and `trace` to accept Playwright-specific values instead of boolean values.
204
+ - Below package versions are updated in this release.
205
+ - playwright - 1.48.0,
206
+ - playwright-bdd - 7.5.0,
207
+ - @playwright/test - 1.48.0,
208
+ - @cucumber/cucumber - 11.0.1
209
+ - From this version, We adopt the playwright-bdd as library instead of modified source
210
+ - Published on 11-11-2024
211
+
212
+ #### Deprecations
213
+ - **Deprecated**: Passing `video` and `trace` as boolean (`true`/`false`) in project configuration.
214
+ - **New Approach**: Use Playwright values for `video` and `trace` options, such as `'on'`, `'retain-on-failure'`, or `'off'`.
215
+
216
+ ### v0.3.1 - 13-11-2024
217
+
218
+ #### Issue Fix
219
+ - Adding bddmode to get the fixtures.
220
+
221
+ ### v0.3.3 - 27-11-2024
222
+
223
+ #### Feature
224
+ - Custom report integration support (ReportPortal)
225
+
226
+ ### v0.2.9.1 - 14-11-2024
227
+
228
+ #### Enhancement
229
+ - Beta feature Actors and edition configurations are unified
230
+
231
+ ### v0.2.9.2 - 22-11-2024
232
+
233
+ #### BugFix
234
+ - Implemented synchronization for the login process. This fix will help avoid login session-related failures in UAT.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ require('../build/lib/cli');
@@ -0,0 +1 @@
1
+ require('../build/lib/post-install');
@@ -0,0 +1,167 @@
1
+ # Testing Framework
2
+
3
+ ## Framework that abstracts the configuration for playwright and Jest
4
+ # 0.2.4
5
+ - Issue fixes on custom fixtures
6
+ - Page Fixture
7
+ - i18n Fixture
8
+
9
+ # 0.2.1
10
+ **Issue Fixes**
11
+ - Fixes issue in actors configuration
12
+ - Added Error Logger
13
+
14
+ # 0.2.0
15
+ **Major Breaking Change**
16
+ - Removed Env-config.json in favour of conf/*/settings.json
17
+ - Mode in uat.config.js is deprecated. Use command args instead
18
+
19
+ **Enhancements**
20
+ - Playwright version updated to 1.42.1
21
+ - Playwright-bdd version updated to 6.1.1
22
+ - Tags Support
23
+ - Added getMetaInfo fixture to get the actors Info data
24
+
25
+ **Issue Fixes**
26
+ - Fixes #10- Mode config not working properly
27
+
28
+ # 0.1.9
29
+ **Enhancements**
30
+ - Added option to specify browsers in command line.
31
+ - npm run uat -- --browsers='chrome,firefox'
32
+ - Playwright version updated to 1.41.1
33
+ - Added option to Skip Browser download
34
+ - Added New Command re-run-failed to run only the failed cases
35
+ **Major Change**
36
+ - Default fixtures moved inside the library.(Page, Context, i18N, unauthenticatedPage)
37
+ **Internal Library Change**
38
+ Examples folder updated to latest testing library version.
39
+
40
+ # 0.1.8
41
+ **Issue Fixes**
42
+ - Fix #9 Custom report generate Error on Windows
43
+ - Add Tags annotations only on bddMode
44
+
45
+ **Enhancements**
46
+ - Added Failed steps in test summary
47
+
48
+ # 0.1.7
49
+ **Enhancements**
50
+ - Added option to run teardown logic.
51
+ - Added support for tag based filtering.
52
+ - Playwright-bdd version updated to 5.6.0.
53
+ - New fixture added to add tag as annotations in test report
54
+
55
+ **Issue Fixes**
56
+ - Edition command option. Fixed the edition tags not generated properly
57
+
58
+ # 0.1.6
59
+
60
+ **Enhancements**
61
+ - New Command option Added `--edition`.
62
+ - New Configuration Added `editionOrder`.
63
+ `In uat.config.js, editionOrder: ['Free', 'Express']`
64
+ - Cache Layer added
65
+
66
+ **USAGE**
67
+ - npm run uat --edition="Free"
68
+
69
+
70
+
71
+ # 0.1.5
72
+
73
+ **Enhancements**
74
+
75
+ - Playwright version updated to `1.40.1`
76
+ - And and But Support added
77
+ - Added Code Suggestions support
78
+ - Custom Reporter added. Now the report will be available in json format.
79
+ - New Commands added.
80
+
81
+ `- help: npx ZDTestingFramework help`
82
+
83
+ - Will list down the commands available in the tool
84
+
85
+ `- clearCaches: npx ZDTestingFramework clearCaches`
86
+
87
+ - Will clear the exisiting cookies in the authentication setup
88
+
89
+ **Issue Fixes**
90
+
91
+ - Fixed Issue that occurs while quitting node process.
92
+
93
+ # 0.1.4
94
+
95
+ - `testIdAttribute` config added
96
+ - Fixed issue while reading boolean configuration values
97
+
98
+ # 0.1.3
99
+
100
+ - uat config sample file updated with `bddMode` and `viewport` values
101
+ - user configuration issue fix when the value is undefined
102
+
103
+ # 0.1.2
104
+
105
+ - Bdd version updated to `5.4.0`
106
+ - Playwright version updated to `1.39.0`
107
+
108
+ # 0.1.1
109
+
110
+ - Fixed post install script error
111
+ - Fixed error `@cucumber/gherkin` not found. Cause of this issue is updating @cucumber/cucumber to 9.5.0. Reverting this version to 9.2.0
112
+ - Removed testing library exports
113
+
114
+ # 0.1.0
115
+
116
+ - Removed eslint as dev dependencies as it causes `npm aliases not supported error` for npm version < 6
117
+
118
+ # 0.0.9
119
+
120
+ - Video sized in report adjusted to viewport size
121
+ - Changes in package.json scripts while setting up project
122
+
123
+ # 0.0.8
124
+
125
+ - Tags Support
126
+ - Enable running without bddmode feature
127
+ - viewport configuration
128
+ - Internal Change - Code refactoring
129
+
130
+ # 0.0.7
131
+
132
+ - Removed react and react-dom as dependencies. Added this as peer dependency
133
+
134
+ # 0.0.6
135
+
136
+ ## Provided Initial Support for cucumber feature files
137
+
138
+ - Playwright-bdd and cucumber added as dependencies
139
+ - Added config bddMode which toggles the feature files processing
140
+ - Added expect timeout and test timeout as an option
141
+ - Decorators support for given, when and then. Typescript support needed to use this feature
142
+
143
+ ## Internal Library change
144
+
145
+ - Provided support for import/export statements
146
+
147
+ # 0.0.5
148
+
149
+ - Added Init command to initialize the folder structure and configuration for testing
150
+ - Renamed config.json to env-config.json
151
+ - Configured report file path directory and Handled Edge case in Cookies Handling
152
+
153
+ # 0.0.4
154
+
155
+ - Issue Fixes while loading the storage state
156
+
157
+ # 0.0.3
158
+
159
+ - Added Support for custom config generator based on user preferences
160
+
161
+ # 0.0.2
162
+
163
+ - Fix for Finding directories inside node_modules folder
164
+
165
+ # 0.0.1
166
+
167
+ - test and report command support