codeceptjs 3.7.0-beta.9 → 3.7.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/bin/codecept.js +1 -1
- package/lib/codecept.js +14 -12
- package/lib/command/check.js +33 -9
- package/lib/command/definitions.js +1 -1
- package/lib/command/gherkin/snippets.js +69 -69
- package/lib/command/interactive.js +1 -1
- package/lib/command/run-multiple/chunk.js +48 -45
- package/lib/container.js +14 -7
- package/lib/effects.js +7 -2
- package/lib/event.js +2 -0
- package/lib/helper/AI.js +2 -1
- package/lib/helper/Playwright.js +1 -1
- package/lib/helper/Puppeteer.js +1 -1
- package/lib/helper/extras/Popup.js +22 -22
- package/lib/mocha/asyncWrapper.js +3 -1
- package/lib/mocha/gherkin.js +1 -1
- package/lib/mocha/inject.js +5 -0
- package/lib/mocha/test.js +5 -2
- package/lib/plugin/analyze.js +50 -3
- package/lib/plugin/auth.js +435 -0
- package/lib/plugin/autoDelay.js +2 -2
- package/lib/plugin/autoLogin.js +3 -337
- package/lib/plugin/pageInfo.js +1 -1
- package/lib/plugin/retryFailedStep.js +13 -14
- package/lib/plugin/retryTo.js +6 -17
- package/lib/plugin/screenshotOnFail.js +4 -5
- package/lib/plugin/standardActingHelpers.js +4 -1
- package/lib/plugin/stepByStepReport.js +1 -1
- package/lib/plugin/tryTo.js +6 -15
- package/lib/recorder.js +1 -0
- package/lib/step/base.js +15 -4
- package/lib/step/comment.js +10 -0
- package/lib/store.js +29 -5
- package/lib/utils.js +1 -1
- package/lib/within.js +2 -0
- package/package.json +18 -18
- package/translations/de-DE.js +4 -3
- package/translations/fr-FR.js +4 -3
- package/translations/index.js +1 -0
- package/translations/it-IT.js +4 -3
- package/translations/ja-JP.js +4 -3
- package/translations/nl-NL.js +76 -0
- package/translations/pl-PL.js +4 -3
- package/translations/pt-BR.js +4 -3
- package/translations/ru-RU.js +4 -3
- package/translations/utils.js +9 -0
- package/translations/zh-CN.js +4 -3
- package/translations/zh-TW.js +4 -3
- package/typings/promiseBasedTypes.d.ts +0 -652
- package/typings/types.d.ts +99 -655
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeceptjs",
|
|
3
|
-
"version": "3.7.0
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "Supercharged End 2 End Testing Framework for NodeJS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"acceptance",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"main": "lib/index.js",
|
|
32
32
|
"exports": {
|
|
33
33
|
".": "./lib/index.js",
|
|
34
|
+
"./lib/*": "./lib/*.js",
|
|
34
35
|
"./els": "./lib/els.js",
|
|
35
36
|
"./effects": "./lib/effects.js",
|
|
36
37
|
"./steps": "./lib/steps.js"
|
|
@@ -74,11 +75,11 @@
|
|
|
74
75
|
"publish-beta": "./runok.js publish:next-beta-version"
|
|
75
76
|
},
|
|
76
77
|
"dependencies": {
|
|
77
|
-
"@codeceptjs/configure": "1.0.
|
|
78
|
+
"@codeceptjs/configure": "1.0.2",
|
|
78
79
|
"@codeceptjs/helper": "2.0.4",
|
|
79
80
|
"@cucumber/cucumber-expressions": "18",
|
|
80
|
-
"@cucumber/gherkin": "
|
|
81
|
-
"@cucumber/messages": "27.0
|
|
81
|
+
"@cucumber/gherkin": "31",
|
|
82
|
+
"@cucumber/messages": "27.2.0",
|
|
82
83
|
"@xmldom/xmldom": "0.9.7",
|
|
83
84
|
"acorn": "8.14.0",
|
|
84
85
|
"arrify": "3.0.0",
|
|
@@ -94,11 +95,10 @@
|
|
|
94
95
|
"figures": "3.2.0",
|
|
95
96
|
"fn-args": "4.0.0",
|
|
96
97
|
"fs-extra": "11.3.0",
|
|
97
|
-
"
|
|
98
|
-
"glob": "^11.0.1",
|
|
98
|
+
"glob": ">=9.0.0 <12",
|
|
99
99
|
"fuse.js": "^7.0.0",
|
|
100
100
|
"html-minifier-terser": "7.2.0",
|
|
101
|
-
"inquirer": "
|
|
101
|
+
"inquirer": "8.2.6",
|
|
102
102
|
"invisi-data": "^1.0.0",
|
|
103
103
|
"joi": "17.13.3",
|
|
104
104
|
"js-beautify": "1.15.1",
|
|
@@ -124,23 +124,23 @@
|
|
|
124
124
|
"@codeceptjs/expect-helper": "^0.2.2",
|
|
125
125
|
"@codeceptjs/mock-request": "0.3.1",
|
|
126
126
|
"@eslint/eslintrc": "3.2.0",
|
|
127
|
-
"@eslint/js": "9.
|
|
127
|
+
"@eslint/js": "9.19.0",
|
|
128
128
|
"@faker-js/faker": "9.4.0",
|
|
129
129
|
"@pollyjs/adapter-puppeteer": "6.0.6",
|
|
130
130
|
"@pollyjs/core": "5.1.0",
|
|
131
131
|
"@types/chai": "4.3.19",
|
|
132
132
|
"@types/inquirer": "9.0.7",
|
|
133
|
-
"@types/node": "22.
|
|
134
|
-
"@wdio/sauce-service": "9.
|
|
133
|
+
"@types/node": "22.13.0",
|
|
134
|
+
"@wdio/sauce-service": "9.7.2",
|
|
135
135
|
"@wdio/selenium-standalone-service": "8.15.0",
|
|
136
|
-
"@wdio/utils": "9.
|
|
136
|
+
"@wdio/utils": "9.7.2",
|
|
137
137
|
"@xmldom/xmldom": "0.9.7",
|
|
138
138
|
"chai": "^4.0.0",
|
|
139
139
|
"chai-as-promised": "7.1.2",
|
|
140
140
|
"chai-subset": "1.6.0",
|
|
141
141
|
"documentation": "14.0.3",
|
|
142
|
-
"electron": "34.0.
|
|
143
|
-
"eslint": "^9.
|
|
142
|
+
"electron": "34.0.2",
|
|
143
|
+
"eslint": "^9.19.0",
|
|
144
144
|
"eslint-plugin-import": "2.31.0",
|
|
145
145
|
"eslint-plugin-mocha": "10.5.0",
|
|
146
146
|
"expect": "29.7.0",
|
|
@@ -153,13 +153,13 @@
|
|
|
153
153
|
"jsdoc": "^3.6.11",
|
|
154
154
|
"jsdoc-typeof-plugin": "1.0.0",
|
|
155
155
|
"json-server": "0.17.4",
|
|
156
|
-
"playwright": "1.
|
|
156
|
+
"playwright": "1.50.1",
|
|
157
157
|
"prettier": "^3.3.2",
|
|
158
|
-
"puppeteer": "24.1.
|
|
158
|
+
"puppeteer": "24.1.1",
|
|
159
159
|
"qrcode-terminal": "0.12.0",
|
|
160
160
|
"rosie": "2.1.1",
|
|
161
161
|
"runok": "0.9.3",
|
|
162
|
-
"semver": "7.
|
|
162
|
+
"semver": "7.7.0",
|
|
163
163
|
"sinon": "19.0.2",
|
|
164
164
|
"sinon-chai": "3.7.0",
|
|
165
165
|
"testcafe": "3.7.1",
|
|
@@ -170,8 +170,8 @@
|
|
|
170
170
|
"typedoc": "0.27.6",
|
|
171
171
|
"typedoc-plugin-markdown": "4.4.1",
|
|
172
172
|
"typescript": "5.7.3",
|
|
173
|
-
"wdio-docker-service": "
|
|
174
|
-
"webdriverio": "
|
|
173
|
+
"wdio-docker-service": "3.2.1",
|
|
174
|
+
"webdriverio": "9.7.2",
|
|
175
175
|
"xml2js": "0.6.2",
|
|
176
176
|
"xpath": "0.0.34"
|
|
177
177
|
},
|
package/translations/de-DE.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'de'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'Ich',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'Szenario',
|
|
6
|
-
ScenarioOutline: 'Szenariogrundriss',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
},
|
|
8
9
|
actions: {
|
|
9
10
|
amOutsideAngularApp: 'befinde_mich_außerhalb_der_angular_app',
|
package/translations/fr-FR.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'fr'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'Je',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'Scénario',
|
|
6
|
-
ScenarioOutline: 'Plan du scénario',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
Before: 'Avant',
|
|
8
9
|
After: 'Après',
|
|
9
10
|
BeforeSuite: 'AvantLaSuite',
|
package/translations/index.js
CHANGED
package/translations/it-IT.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'it'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'io',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'lo_scenario',
|
|
6
|
-
ScenarioOutline: 'Schema dello scenario',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
Before: 'Prima',
|
|
8
9
|
After: 'Dopo',
|
|
9
10
|
BeforeSuite: 'Prima_della_suite',
|
package/translations/ja-JP.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'ja'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: '私は',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'シナリオ',
|
|
6
|
-
ScenarioOutline: 'シナリオアウトライン',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
},
|
|
8
9
|
actions: {
|
|
9
10
|
amOutsideAngularApp: 'Angularの外に出る',
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'nl'
|
|
3
|
+
|
|
4
|
+
module.exports = {
|
|
5
|
+
I: 'Ik',
|
|
6
|
+
contexts: {
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
8
|
+
},
|
|
9
|
+
actions: {
|
|
10
|
+
amOutsideAngularApp: 'ben_buiten_angular_app',
|
|
11
|
+
amInsideAngularApp: 'ben_binnen_angular_app',
|
|
12
|
+
waitForElement: 'wacht_op_element',
|
|
13
|
+
waitForClickable: 'wacht_tot_klikbaar',
|
|
14
|
+
waitForVisible: 'wacht_tot_zichtbaar',
|
|
15
|
+
waitForEnabled: 'wacht_tot_ingeschakeld',
|
|
16
|
+
waitForInvisible: 'wacht_tot_onzichtbaar',
|
|
17
|
+
waitInUrl: 'wacht_in_url',
|
|
18
|
+
waitForText: 'wacht_op_tekst',
|
|
19
|
+
moveTo: 'beweeg_de_cursor_naar',
|
|
20
|
+
refresh: 'vernieuw_pagina',
|
|
21
|
+
refreshPage: 'vernieuw_pagina',
|
|
22
|
+
haveModule: 'heb_module',
|
|
23
|
+
resetModule: 'reset_module',
|
|
24
|
+
amOnPage: 'ben_op_pagina',
|
|
25
|
+
click: 'klik',
|
|
26
|
+
doubleClick: 'dubbelklik',
|
|
27
|
+
see: 'zie',
|
|
28
|
+
dontSee: 'zie_niet',
|
|
29
|
+
selectOption: 'selecteer_optie',
|
|
30
|
+
fillField: 'vul_veld_in',
|
|
31
|
+
pressKey: 'druk_op_toets',
|
|
32
|
+
triggerMouseEvent: 'trigger_een_muis_event',
|
|
33
|
+
attachFile: 'voeg_bestand_toe',
|
|
34
|
+
seeInField: 'zie_in_veld',
|
|
35
|
+
dontSeeInField: 'zie_niet_in_veld',
|
|
36
|
+
appendField: 'voeg_toe_aan_veld',
|
|
37
|
+
checkOption: 'vink_optie_aan',
|
|
38
|
+
seeCheckboxIsChecked: 'zie_dat_checkbox_aangevinkt_is',
|
|
39
|
+
dontSeeCheckboxIsChecked: 'zie_niet_dat_checkbox_aangevinkt_is',
|
|
40
|
+
grabTextFrom: 'pak_tekst_van',
|
|
41
|
+
grabValueFrom: 'pak_waarde_van',
|
|
42
|
+
grabAttributeFrom: 'pak_attribuut_van',
|
|
43
|
+
seeInTitle: 'zie_in_titel',
|
|
44
|
+
dontSeeInTitle: 'zie_niet_in_titel',
|
|
45
|
+
grabTitle: 'pak_titel',
|
|
46
|
+
seeElement: 'zie_element',
|
|
47
|
+
dontSeeElement: 'zie_element_niet',
|
|
48
|
+
seeInSource: 'zie_in_broncode',
|
|
49
|
+
dontSeeInSource: 'zie_niet_in_broncode',
|
|
50
|
+
executeScript: 'voer_script_uit',
|
|
51
|
+
executeAsyncScript: 'voer_asynchroon_script_uit',
|
|
52
|
+
seeInCurrentUrl: 'zie_in_huidige_url',
|
|
53
|
+
dontSeeInCurrentUrl: 'zie_niet_in_huidige_url',
|
|
54
|
+
seeCurrentUrlEquals: 'zie_dat_url_gelijk_is',
|
|
55
|
+
dontSeeCurrentUrlEquals: 'zie_dat_url_niet_gelijk_is',
|
|
56
|
+
saveScreenshot: 'sla_screenshot_op',
|
|
57
|
+
setCookie: 'stel_cookie_in',
|
|
58
|
+
clearCookie: 'verwijder_cookie',
|
|
59
|
+
seeCookie: 'zie_cookie',
|
|
60
|
+
dontSeeCookie: 'zie_cookie_niet',
|
|
61
|
+
grabCookie: 'pak_cookie',
|
|
62
|
+
resizeWindow: 'verander_venstergrootte',
|
|
63
|
+
wait: 'wacht',
|
|
64
|
+
haveHeader: 'gebruik_http_header',
|
|
65
|
+
clearField: 'wis_veld',
|
|
66
|
+
dontSeeElementInDOM: 'zie_element_niet_in_DOM',
|
|
67
|
+
moveCursorTo: 'beweeg_de_cursor_naar',
|
|
68
|
+
scrollTo: 'scroll_naar',
|
|
69
|
+
sendGetRequest: 'doe_een_get_verzoek',
|
|
70
|
+
sendPutRequest: 'doe_een_put_verzoek',
|
|
71
|
+
sendDeleteRequest: 'doe_een_delete_verzoek',
|
|
72
|
+
sendDeleteRequestWithPayload: 'doe_een_delete_verzoek_met_payload',
|
|
73
|
+
sendPostRequest: 'doe_een_post_verzoek',
|
|
74
|
+
switchTo: 'wissel_naar_iframe',
|
|
75
|
+
},
|
|
76
|
+
}
|
package/translations/pl-PL.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'pl'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'Ja',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'Scenariusz',
|
|
6
|
-
ScenarioOutline: 'Szablon scenariusza',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
},
|
|
8
9
|
actions: {
|
|
9
10
|
amOutsideAngularApp: 'jestem_poza_aplikacją_angular',
|
package/translations/pt-BR.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'pt'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'Eu',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'Cenário',
|
|
6
|
-
ScenarioOutline: 'Esquema do Cenário',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
Before: 'Antes',
|
|
8
9
|
After: 'Depois',
|
|
9
10
|
BeforeSuite: 'AntesDaSuite',
|
package/translations/ru-RU.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'ru'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: 'Я',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: 'Сценарий',
|
|
6
|
-
ScenarioOutline: 'Структура сценария',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
Before: 'Начало',
|
|
8
9
|
After: 'Конец',
|
|
9
10
|
BeforeSuite: 'Перед_всем',
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module.exports.gherkinTranslations = function (langCode) {
|
|
2
|
+
const gherkinLanguages = require('@cucumber/gherkin/src/gherkin-languages.json')
|
|
3
|
+
const { feature, scenario, scenarioOutline } = gherkinLanguages[langCode]
|
|
4
|
+
return {
|
|
5
|
+
Feature: feature[0],
|
|
6
|
+
Scenario: scenario[0],
|
|
7
|
+
ScenarioOutline: scenarioOutline[0],
|
|
8
|
+
}
|
|
9
|
+
}
|
package/translations/zh-CN.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'zh-CN'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: '我',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: '场景',
|
|
6
|
-
ScenarioOutline: '场景大纲',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
},
|
|
8
9
|
actions: {
|
|
9
10
|
amOutsideAngularApp: '在Angular应用外',
|
package/translations/zh-TW.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
const { gherkinTranslations } = require('./utils')
|
|
2
|
+
const langCode = 'zh-TW'
|
|
3
|
+
|
|
1
4
|
module.exports = {
|
|
2
5
|
I: '我',
|
|
3
6
|
contexts: {
|
|
4
|
-
|
|
5
|
-
Scenario: '場景',
|
|
6
|
-
ScenarioOutline: '場景大綱',
|
|
7
|
+
...gherkinTranslations(langCode),
|
|
7
8
|
},
|
|
8
9
|
actions: {
|
|
9
10
|
amOutsideAngularApp: '在Angular應用外',
|