codeceptjs 3.4.1 → 3.5.1-2.beta.7

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 (281) hide show
  1. package/README.md +31 -30
  2. package/bin/codecept.js +1 -1
  3. package/lib/actor.js +6 -3
  4. package/lib/ai.js +180 -0
  5. package/lib/cli.js +13 -3
  6. package/lib/codecept.js +8 -0
  7. package/lib/colorUtils.js +10 -0
  8. package/lib/command/definitions.js +2 -7
  9. package/lib/command/dryRun.js +11 -2
  10. package/lib/command/generate.js +46 -3
  11. package/lib/command/info.js +24 -0
  12. package/lib/command/init.js +64 -6
  13. package/lib/command/interactive.js +15 -1
  14. package/lib/command/run-multiple/collection.js +17 -5
  15. package/lib/command/run-multiple.js +4 -2
  16. package/lib/command/run-workers.js +68 -5
  17. package/lib/command/run.js +7 -0
  18. package/lib/command/workers/runTests.js +39 -0
  19. package/lib/container.js +13 -3
  20. package/lib/data/context.js +14 -6
  21. package/lib/event.js +4 -0
  22. package/lib/helper/ApiDataFactory.js +2 -1
  23. package/lib/helper/Appium.js +116 -29
  24. package/lib/helper/Expect.js +422 -0
  25. package/lib/helper/FileSystem.js +1 -1
  26. package/lib/helper/GraphQL.js +25 -0
  27. package/lib/helper/JSONResponse.js +4 -4
  28. package/lib/helper/Nightmare.js +10 -5
  29. package/lib/helper/OpenAI.js +126 -0
  30. package/lib/helper/Playwright.js +1298 -229
  31. package/lib/helper/Protractor.js +12 -7
  32. package/lib/helper/Puppeteer.js +204 -64
  33. package/lib/helper/REST.js +15 -5
  34. package/lib/helper/TestCafe.js +45 -10
  35. package/lib/helper/WebDriver.js +252 -83
  36. package/lib/helper/errors/ElementNotFound.js +2 -1
  37. package/lib/helper/extras/PlaywrightReactVueLocator.js +38 -0
  38. package/lib/helper/scripts/blurElement.js +17 -0
  39. package/lib/helper/scripts/focusElement.js +17 -0
  40. package/lib/helper/scripts/highlightElement.js +20 -0
  41. package/lib/html.js +258 -0
  42. package/lib/interfaces/bdd.js +1 -1
  43. package/lib/interfaces/gherkin.js +37 -3
  44. package/lib/interfaces/scenarioConfig.js +1 -0
  45. package/lib/listener/retry.js +2 -1
  46. package/lib/locator.js +17 -4
  47. package/lib/mochaFactory.js +2 -1
  48. package/lib/output.js +1 -1
  49. package/lib/pause.js +78 -19
  50. package/lib/plugin/autoLogin.js +45 -10
  51. package/lib/plugin/debugErrors.js +67 -0
  52. package/lib/plugin/fakerTransform.js +4 -6
  53. package/lib/plugin/heal.js +209 -0
  54. package/lib/plugin/retryFailedStep.js +10 -1
  55. package/lib/plugin/retryTo.js +2 -4
  56. package/lib/plugin/screenshotOnFail.js +11 -2
  57. package/lib/plugin/selenoid.js +6 -1
  58. package/lib/plugin/standardActingHelpers.js +0 -2
  59. package/lib/plugin/stepByStepReport.js +2 -2
  60. package/lib/plugin/tryTo.js +5 -7
  61. package/lib/plugin/wdio.js +0 -1
  62. package/lib/recorder.js +22 -11
  63. package/lib/secret.js +5 -4
  64. package/lib/session.js +1 -1
  65. package/lib/step.js +36 -12
  66. package/lib/ui.js +5 -3
  67. package/lib/utils.js +22 -1
  68. package/lib/workers.js +83 -10
  69. package/package.json +117 -95
  70. package/translations/de-DE.js +5 -0
  71. package/translations/fr-FR.js +14 -1
  72. package/translations/it-IT.js +1 -0
  73. package/translations/ja-JP.js +14 -9
  74. package/translations/pl-PL.js +5 -0
  75. package/translations/pt-BR.js +1 -0
  76. package/translations/ru-RU.js +1 -0
  77. package/translations/zh-CN.js +5 -0
  78. package/translations/zh-TW.js +5 -0
  79. package/typings/index.d.ts +51 -15
  80. package/typings/promiseBasedTypes.d.ts +864 -802
  81. package/typings/types.d.ts +1339 -744
  82. package/CHANGELOG.md +0 -2427
  83. package/docs/advanced.md +0 -351
  84. package/docs/api.md +0 -323
  85. package/docs/basics.md +0 -980
  86. package/docs/bdd.md +0 -535
  87. package/docs/best.md +0 -237
  88. package/docs/books.md +0 -37
  89. package/docs/bootstrap.md +0 -135
  90. package/docs/build/ApiDataFactory.js +0 -409
  91. package/docs/build/Appium.js +0 -1938
  92. package/docs/build/FileSystem.js +0 -228
  93. package/docs/build/GraphQL.js +0 -204
  94. package/docs/build/GraphQLDataFactory.js +0 -309
  95. package/docs/build/JSONResponse.js +0 -338
  96. package/docs/build/Mochawesome.js +0 -71
  97. package/docs/build/Nightmare.js +0 -2145
  98. package/docs/build/Playwright.js +0 -3986
  99. package/docs/build/Polly.js +0 -42
  100. package/docs/build/Protractor.js +0 -2699
  101. package/docs/build/Puppeteer.js +0 -3710
  102. package/docs/build/REST.js +0 -334
  103. package/docs/build/SeleniumWebdriver.js +0 -76
  104. package/docs/build/TestCafe.js +0 -2057
  105. package/docs/build/WebDriver.js +0 -4017
  106. package/docs/changelog.md +0 -2436
  107. package/docs/commands.md +0 -254
  108. package/docs/community-helpers.md +0 -58
  109. package/docs/configuration.md +0 -157
  110. package/docs/continuous-integration.md +0 -22
  111. package/docs/custom-helpers.md +0 -306
  112. package/docs/data.md +0 -375
  113. package/docs/detox.md +0 -235
  114. package/docs/docker.md +0 -137
  115. package/docs/email.md +0 -183
  116. package/docs/examples.md +0 -149
  117. package/docs/helpers/ApiDataFactory.md +0 -266
  118. package/docs/helpers/Appium.md +0 -1312
  119. package/docs/helpers/Detox.md +0 -586
  120. package/docs/helpers/FileSystem.md +0 -152
  121. package/docs/helpers/GraphQL.md +0 -130
  122. package/docs/helpers/GraphQLDataFactory.md +0 -226
  123. package/docs/helpers/JSONResponse.md +0 -254
  124. package/docs/helpers/Mochawesome.md +0 -8
  125. package/docs/helpers/MockRequest.md +0 -377
  126. package/docs/helpers/Nightmare.md +0 -1256
  127. package/docs/helpers/Playwright.md +0 -2208
  128. package/docs/helpers/Polly.md +0 -44
  129. package/docs/helpers/Puppeteer-firefox.md +0 -86
  130. package/docs/helpers/Puppeteer.md +0 -2141
  131. package/docs/helpers/REST.md +0 -217
  132. package/docs/helpers/TestCafe.md +0 -1222
  133. package/docs/helpers/WebDriver.md +0 -2319
  134. package/docs/hooks.md +0 -340
  135. package/docs/index.md +0 -111
  136. package/docs/installation.md +0 -75
  137. package/docs/internal-api.md +0 -265
  138. package/docs/locators.md +0 -331
  139. package/docs/mobile-react-native-locators.md +0 -67
  140. package/docs/mobile.md +0 -297
  141. package/docs/nightmare.md +0 -223
  142. package/docs/pageobjects.md +0 -291
  143. package/docs/parallel.md +0 -232
  144. package/docs/playwright.md +0 -609
  145. package/docs/plugins.md +0 -1171
  146. package/docs/puppeteer.md +0 -316
  147. package/docs/quickstart.md +0 -163
  148. package/docs/react.md +0 -69
  149. package/docs/reports.md +0 -392
  150. package/docs/secrets.md +0 -30
  151. package/docs/shadow.md +0 -68
  152. package/docs/shared/keys.mustache +0 -31
  153. package/docs/shared/react.mustache +0 -1
  154. package/docs/testcafe.md +0 -174
  155. package/docs/translation.md +0 -247
  156. package/docs/tutorial.md +0 -271
  157. package/docs/typescript.md +0 -180
  158. package/docs/ui.md +0 -59
  159. package/docs/videos.md +0 -28
  160. package/docs/visual.md +0 -202
  161. package/docs/vue.md +0 -121
  162. package/docs/webapi/amOnPage.mustache +0 -11
  163. package/docs/webapi/appendField.mustache +0 -9
  164. package/docs/webapi/attachFile.mustache +0 -12
  165. package/docs/webapi/checkOption.mustache +0 -13
  166. package/docs/webapi/clearCookie.mustache +0 -10
  167. package/docs/webapi/clearField.mustache +0 -9
  168. package/docs/webapi/click.mustache +0 -25
  169. package/docs/webapi/clickLink.mustache +0 -8
  170. package/docs/webapi/closeCurrentTab.mustache +0 -7
  171. package/docs/webapi/closeOtherTabs.mustache +0 -8
  172. package/docs/webapi/dontSee.mustache +0 -11
  173. package/docs/webapi/dontSeeCheckboxIsChecked.mustache +0 -10
  174. package/docs/webapi/dontSeeCookie.mustache +0 -8
  175. package/docs/webapi/dontSeeCurrentUrlEquals.mustache +0 -10
  176. package/docs/webapi/dontSeeElement.mustache +0 -8
  177. package/docs/webapi/dontSeeElementInDOM.mustache +0 -8
  178. package/docs/webapi/dontSeeInCurrentUrl.mustache +0 -4
  179. package/docs/webapi/dontSeeInField.mustache +0 -11
  180. package/docs/webapi/dontSeeInSource.mustache +0 -8
  181. package/docs/webapi/dontSeeInTitle.mustache +0 -8
  182. package/docs/webapi/doubleClick.mustache +0 -13
  183. package/docs/webapi/downloadFile.mustache +0 -12
  184. package/docs/webapi/dragAndDrop.mustache +0 -9
  185. package/docs/webapi/dragSlider.mustache +0 -11
  186. package/docs/webapi/executeAsyncScript.mustache +0 -24
  187. package/docs/webapi/executeScript.mustache +0 -26
  188. package/docs/webapi/fillField.mustache +0 -16
  189. package/docs/webapi/forceClick.mustache +0 -28
  190. package/docs/webapi/forceRightClick.mustache +0 -18
  191. package/docs/webapi/grabAllWindowHandles.mustache +0 -7
  192. package/docs/webapi/grabAttributeFrom.mustache +0 -10
  193. package/docs/webapi/grabAttributeFromAll.mustache +0 -9
  194. package/docs/webapi/grabBrowserLogs.mustache +0 -9
  195. package/docs/webapi/grabCookie.mustache +0 -11
  196. package/docs/webapi/grabCssPropertyFrom.mustache +0 -11
  197. package/docs/webapi/grabCssPropertyFromAll.mustache +0 -10
  198. package/docs/webapi/grabCurrentUrl.mustache +0 -9
  199. package/docs/webapi/grabCurrentWindowHandle.mustache +0 -6
  200. package/docs/webapi/grabDataFromPerformanceTiming.mustache +0 -20
  201. package/docs/webapi/grabElementBoundingRect.mustache +0 -20
  202. package/docs/webapi/grabGeoLocation.mustache +0 -8
  203. package/docs/webapi/grabHTMLFrom.mustache +0 -10
  204. package/docs/webapi/grabHTMLFromAll.mustache +0 -9
  205. package/docs/webapi/grabNumberOfOpenTabs.mustache +0 -8
  206. package/docs/webapi/grabNumberOfVisibleElements.mustache +0 -9
  207. package/docs/webapi/grabPageScrollPosition.mustache +0 -8
  208. package/docs/webapi/grabPopupText.mustache +0 -5
  209. package/docs/webapi/grabSource.mustache +0 -8
  210. package/docs/webapi/grabTextFrom.mustache +0 -10
  211. package/docs/webapi/grabTextFromAll.mustache +0 -9
  212. package/docs/webapi/grabTitle.mustache +0 -8
  213. package/docs/webapi/grabValueFrom.mustache +0 -9
  214. package/docs/webapi/grabValueFromAll.mustache +0 -8
  215. package/docs/webapi/moveCursorTo.mustache +0 -12
  216. package/docs/webapi/openNewTab.mustache +0 -7
  217. package/docs/webapi/pressKey.mustache +0 -12
  218. package/docs/webapi/pressKeyDown.mustache +0 -12
  219. package/docs/webapi/pressKeyUp.mustache +0 -12
  220. package/docs/webapi/pressKeyWithKeyNormalization.mustache +0 -60
  221. package/docs/webapi/refreshPage.mustache +0 -6
  222. package/docs/webapi/resizeWindow.mustache +0 -6
  223. package/docs/webapi/rightClick.mustache +0 -14
  224. package/docs/webapi/saveElementScreenshot.mustache +0 -10
  225. package/docs/webapi/saveScreenshot.mustache +0 -12
  226. package/docs/webapi/say.mustache +0 -10
  227. package/docs/webapi/scrollIntoView.mustache +0 -11
  228. package/docs/webapi/scrollPageToBottom.mustache +0 -6
  229. package/docs/webapi/scrollPageToTop.mustache +0 -6
  230. package/docs/webapi/scrollTo.mustache +0 -12
  231. package/docs/webapi/see.mustache +0 -11
  232. package/docs/webapi/seeAttributesOnElements.mustache +0 -9
  233. package/docs/webapi/seeCheckboxIsChecked.mustache +0 -10
  234. package/docs/webapi/seeCookie.mustache +0 -8
  235. package/docs/webapi/seeCssPropertiesOnElements.mustache +0 -9
  236. package/docs/webapi/seeCurrentUrlEquals.mustache +0 -11
  237. package/docs/webapi/seeElement.mustache +0 -8
  238. package/docs/webapi/seeElementInDOM.mustache +0 -8
  239. package/docs/webapi/seeInCurrentUrl.mustache +0 -8
  240. package/docs/webapi/seeInField.mustache +0 -12
  241. package/docs/webapi/seeInPopup.mustache +0 -8
  242. package/docs/webapi/seeInSource.mustache +0 -7
  243. package/docs/webapi/seeInTitle.mustache +0 -8
  244. package/docs/webapi/seeNumberOfElements.mustache +0 -11
  245. package/docs/webapi/seeNumberOfVisibleElements.mustache +0 -10
  246. package/docs/webapi/seeTextEquals.mustache +0 -9
  247. package/docs/webapi/seeTitleEquals.mustache +0 -8
  248. package/docs/webapi/selectOption.mustache +0 -21
  249. package/docs/webapi/setCookie.mustache +0 -16
  250. package/docs/webapi/setGeoLocation.mustache +0 -12
  251. package/docs/webapi/switchTo.mustache +0 -9
  252. package/docs/webapi/switchToNextTab.mustache +0 -10
  253. package/docs/webapi/switchToPreviousTab.mustache +0 -10
  254. package/docs/webapi/type.mustache +0 -18
  255. package/docs/webapi/uncheckOption.mustache +0 -13
  256. package/docs/webapi/wait.mustache +0 -8
  257. package/docs/webapi/waitForClickable.mustache +0 -11
  258. package/docs/webapi/waitForDetached.mustache +0 -10
  259. package/docs/webapi/waitForElement.mustache +0 -11
  260. package/docs/webapi/waitForEnabled.mustache +0 -6
  261. package/docs/webapi/waitForFunction.mustache +0 -17
  262. package/docs/webapi/waitForInvisible.mustache +0 -10
  263. package/docs/webapi/waitForText.mustache +0 -13
  264. package/docs/webapi/waitForValue.mustache +0 -10
  265. package/docs/webapi/waitForVisible.mustache +0 -10
  266. package/docs/webapi/waitInUrl.mustache +0 -9
  267. package/docs/webapi/waitNumberOfVisibleElements.mustache +0 -10
  268. package/docs/webapi/waitToHide.mustache +0 -10
  269. package/docs/webapi/waitUrlEquals.mustache +0 -10
  270. package/docs/webdriver.md +0 -657
  271. package/docs/wiki/Books-&-Posts.md +0 -27
  272. package/docs/wiki/Community-Helpers-&-Plugins.md +0 -49
  273. package/docs/wiki/Converting-Playwright-to-Istanbul-Coverage.md +0 -29
  274. package/docs/wiki/Examples.md +0 -139
  275. package/docs/wiki/Google-Summer-of-Code-(GSoC)-2020.md +0 -68
  276. package/docs/wiki/Home.md +0 -16
  277. package/docs/wiki/Release-Process.md +0 -24
  278. package/docs/wiki/Roadmap.md +0 -23
  279. package/docs/wiki/Tests.md +0 -1393
  280. package/docs/wiki/Upgrading-to-CodeceptJS-3.md +0 -153
  281. package/docs/wiki/Videos.md +0 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeceptjs",
3
- "version": "3.4.1",
3
+ "version": "3.5.12.beta.7",
4
4
  "description": "Supercharged End 2 End Testing Framework for NodeJS",
5
5
  "keywords": [
6
6
  "acceptance",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "files": [
25
25
  "bin",
26
- "docs",
27
26
  "lib",
28
27
  "translations",
29
28
  "typings/**/*.d.ts"
@@ -40,109 +39,132 @@
40
39
  "lint": "eslint bin/ examples/ lib/ test/ translations/ runok.js",
41
40
  "lint-fix": "eslint bin/ examples/ lib/ test/ translations/ runok.js --fix",
42
41
  "docs": "./runok.js docs",
43
- "test:unit": "mocha test/unit --recursive",
44
- "test:runner": "mocha test/runner --recursive --timeout 5000",
42
+ "test:unit": "mocha test/unit --recursive --timeout 10000",
43
+ "test:runner": "mocha test/runner --recursive --timeout 10000",
45
44
  "test": "npm run test:unit && npm run test:runner",
46
- "test:appium-quick": "mocha test/helper/Appium_test.js --grep 'quick'",
47
- "test:appium-other": "mocha test/helper/Appium_test.js --grep 'second'",
45
+ "test:appium-quick": "mocha test/helper/AppiumV2_test.js --grep 'quick'",
46
+ "test:appium-other": "mocha test/helper/AppiumV2_test.js --grep 'second'",
47
+ "test:ios:appium-quick": "mocha test/helper/AppiumV2_ios_test.js --grep 'quick'",
48
+ "test:ios:appium-other": "mocha test/helper/AppiumV2_ios_test.js --grep 'second'",
49
+ "test-app:start": "php -S 127.0.0.1:8000 -t test/data/app",
50
+ "test-app:stop": "kill -9 $(lsof -t -i:8000)",
51
+ "test:unit:webbapi:playwright": "mocha test/helper/Playwright_test.js",
52
+ "test:unit:webbapi:puppeteer": "mocha test/helper/Puppeteer_test.js",
53
+ "test:unit:webbapi:webDriver": "mocha test/helper/WebDriver_test.js",
54
+ "test:unit:webbapi:webDriver:noSeleniumServer": "mocha test/helper/WebDriver.noSeleniumServer_test.js",
55
+ "test:unit:webbapi:webDriver:devtools": "mocha test/helper/WebDriver_devtools_test.js --exit",
56
+ "test:unit:webbapi:testCafe": "mocha test/helper/TestCafe_test.js",
57
+ "test:unit:expect": "mocha test/helper/Expect_test.js",
58
+ "test:plugin": "mocha test/plugin/plugin_test.js",
48
59
  "def": "./runok.js def",
49
- "dev:graphql": "nodemon test/data/graphql/index.js",
60
+ "dev:graphql": "node test/data/graphql/index.js",
50
61
  "publish:site": "./runok.js publish:site",
51
- "update-contributor-faces": "contributor-faces .",
62
+ "update-contributor-faces": "./runok.js contributor:faces",
52
63
  "dtslint": "dtslint typings --localTs './node_modules/typescript/lib'",
53
- "prepare": "husky install"
64
+ "prepare": "husky install",
65
+ "prepare-release": "./runok.js versioning && ./runok.js get:commit-log"
54
66
  },
55
67
  "dependencies": {
56
- "@codeceptjs/configure": "^0.8.0",
57
- "@codeceptjs/helper": "^1.0.2",
58
- "@cucumber/cucumber-expressions": "^16",
59
- "@cucumber/gherkin": "^26",
60
- "@cucumber/messages": "^21.0.1",
61
- "acorn": "^7.4.1",
62
- "arrify": "^2.0.1",
63
- "axios": "^1.3.3",
64
- "chai": "^4.3.6",
65
- "chai-deep-match": "^1.2.1",
66
- "chalk": "^4.1.2",
67
- "commander": "^2.20.3",
68
- "cross-spawn": "^7.0.3",
69
- "css-to-xpath": "^0.1.0",
70
- "envinfo": "^7.8.1",
71
- "escape-string-regexp": "^1.0.3",
72
- "figures": "^3.2.0",
73
- "fn-args": "^4.0.0",
74
- "fs-extra": "^8.1.0",
75
- "glob": "^6.0.1",
76
- "inquirer": "^6.5.2",
77
- "joi": "^17.6.0",
78
- "js-beautify": "^1.14.0",
79
- "lodash.clonedeep": "^4.5.0",
80
- "lodash.merge": "^4.6.2",
81
- "mkdirp": "^1.0.4",
82
- "mocha": "^10.2.0",
83
- "mocha-junit-reporter": "^1.23.3",
84
- "ms": "^2.1.3",
85
- "parse-function": "^5.6.4",
86
- "promise-retry": "^1.1.1",
87
- "resq": "^1.10.2",
88
- "sprintf-js": "^1.1.1",
89
- "uuid": "^9.0"
68
+ "@codeceptjs/configure": "0.10.0",
69
+ "@codeceptjs/helper": "2.0.1",
70
+ "@cucumber/cucumber-expressions": "17",
71
+ "@cucumber/gherkin": "26",
72
+ "@cucumber/messages": "24.0.1",
73
+ "@xmldom/xmldom": "0.8.10",
74
+ "acorn": "8.11.2",
75
+ "arrify": "2.0.1",
76
+ "axios": "1.6.3",
77
+ "chai": "4.3.8",
78
+ "chai-deep-match": "1.2.1",
79
+ "chai-exclude": "^2.1.0",
80
+ "chai-json-schema": "^1.5.1",
81
+ "chai-json-schema-ajv": "^5.2.4",
82
+ "chai-match-pattern": "^1.3.0",
83
+ "chai-string": "^1.5.0",
84
+ "chalk": "4.1.2",
85
+ "commander": "11.1.0",
86
+ "cross-spawn": "7.0.3",
87
+ "csstoxpath": "1.6.0",
88
+ "devtools": "8.27.2",
89
+ "envinfo": "7.11.0",
90
+ "escape-string-regexp": "4.0.0",
91
+ "figures": "3.2.0",
92
+ "fn-args": "4.0.0",
93
+ "fs-extra": "11.2.0",
94
+ "glob": "6.0.1",
95
+ "html-minifier-terser": "^7.2.0",
96
+ "inquirer": "6.5.2",
97
+ "joi": "17.11.0",
98
+ "js-beautify": "1.14.11",
99
+ "lodash.clonedeep": "4.5.0",
100
+ "lodash.merge": "4.6.2",
101
+ "mkdirp": "1.0.4",
102
+ "mocha": "10.2.0",
103
+ "ms": "2.1.3",
104
+ "openai": "3.2.1",
105
+ "ora-classic": "5.4.2",
106
+ "parse-function": "5.6.4",
107
+ "parse5": "7.1.2",
108
+ "promise-retry": "1.1.1",
109
+ "resq": "1.11.0",
110
+ "sprintf-js": "1.1.1",
111
+ "uuid": "9.0"
112
+ },
113
+ "optionalDependencies": {
114
+ "@codeceptjs/detox-helper": "1.0.2"
90
115
  },
91
116
  "devDependencies": {
92
- "@codeceptjs/detox-helper": "^1.0.2",
93
- "@codeceptjs/mock-request": "^0.3.1",
94
- "@faker-js/faker": "^7.6.0",
95
- "@pollyjs/adapter-puppeteer": "^5.1.0",
96
- "@pollyjs/core": "^5.1.0",
97
- "@types/inquirer": "^0.0.35",
98
- "@types/node": "^8.10.66",
99
- "@wdio/sauce-service": "^5.22.5",
100
- "@wdio/selenium-standalone-service": "^5.16.10",
101
- "@wdio/utils": "^5.23.0",
102
- "apollo-server-express": "^2.25.3",
103
- "chai-as-promised": "^7.1.1",
104
- "chai-subset": "^1.6.0",
105
- "contributor-faces": "^1.0.3",
106
- "documentation": "^12.3.0",
107
- "dtslint": "^4.1.6",
108
- "electron": "^12.2.3",
109
- "eslint": "^6.8.0",
110
- "eslint-config-airbnb-base": "^14.2.1",
111
- "eslint-plugin-import": "^2.25.4",
112
- "eslint-plugin-mocha": "^6.3.0",
113
- "expect": "^26.6.2",
114
- "express": "^4.17.2",
115
- "form-data": "^3.0.1",
116
- "graphql": "^14.6.0",
117
- "husky": "^8.0.1",
118
- "inquirer-test": "^2.0.1",
119
- "jsdoc": "^3.6.10",
120
- "jsdoc-typeof-plugin": "^1.0.0",
121
- "json-server": "^0.10.1",
122
- "nightmare": "^3.0.2",
123
- "nodemon": "^1.19.4",
124
- "playwright": "^1.23.2",
125
- "puppeteer": "^10.4.0",
126
- "qrcode-terminal": "^0.12.0",
127
- "rosie": "^1.6.0",
128
- "runok": "^0.9.2",
129
- "sinon": "^9.2.4",
130
- "sinon-chai": "^3.7.0",
131
- "testcafe": "^2.1.0",
132
- "ts-morph": "^3.1.3",
133
- "ts-node": "^10.9.1",
134
- "tsd-jsdoc": "^2.5.0",
135
- "typedoc": "^0.23.10",
136
- "typedoc-plugin-markdown": "^3.13.4",
137
- "typescript": "^4.8.4",
138
- "wdio-docker-service": "^1.5.0",
139
- "webdriverio": "^8.3.8",
140
- "xml2js": "^0.4.23",
141
- "xmldom": "^0.1.31",
142
- "xpath": "0.0.27"
117
+ "@codeceptjs/mock-request": "0.3.1",
118
+ "@faker-js/faker": "7.6.0",
119
+ "@pollyjs/adapter-puppeteer": "6.0.6",
120
+ "@pollyjs/core": "5.1.0",
121
+ "@types/chai": "^4.3.7",
122
+ "@types/inquirer": "9.0.3",
123
+ "@types/node": "20.10.7",
124
+ "@wdio/sauce-service": "8.27.0",
125
+ "@wdio/selenium-standalone-service": "8.3.2",
126
+ "@wdio/utils": "8.27.2",
127
+ "@xmldom/xmldom": "0.8.10",
128
+ "apollo-server-express": "2.25.3",
129
+ "chai-as-promised": "7.1.1",
130
+ "chai-subset": "1.6.0",
131
+ "contributor-faces": "1.1.0",
132
+ "documentation": "12.3.0",
133
+ "dtslint": "4.2.1",
134
+ "electron": "28.0.0",
135
+ "eslint": "8.56.0",
136
+ "eslint-config-airbnb-base": "15.0.0",
137
+ "eslint-plugin-import": "2.29.1",
138
+ "eslint-plugin-mocha": "6.3.0",
139
+ "expect": "29.7.0",
140
+ "express": "4.18.2",
141
+ "graphql": "14.6.0",
142
+ "husky": "8.0.3",
143
+ "inquirer-test": "2.0.1",
144
+ "jsdoc": "3.6.11",
145
+ "jsdoc-typeof-plugin": "1.0.0",
146
+ "json-server": "0.10.1",
147
+ "playwright": "1.40.1",
148
+ "puppeteer": "21.1.1",
149
+ "qrcode-terminal": "0.12.0",
150
+ "rosie": "2.1.1",
151
+ "runok": "0.9.3",
152
+ "sinon": "17.0.1",
153
+ "sinon-chai": "3.7.0",
154
+ "testcafe": "3.3.0",
155
+ "ts-morph": "21.0.1",
156
+ "ts-node": "10.9.2",
157
+ "tsd-jsdoc": "2.5.0",
158
+ "typedoc": "0.25.7",
159
+ "typedoc-plugin-markdown": "3.17.1",
160
+ "typescript": "5.3.3",
161
+ "wdio-docker-service": "1.5.0",
162
+ "webdriverio": "8.27.2",
163
+ "xml2js": "0.6.2",
164
+ "xpath": "0.0.34"
143
165
  },
144
166
  "engines": {
145
- "node": ">=8.9.1",
167
+ "node": ">=16.0",
146
168
  "npm": ">=5.6.0"
147
169
  },
148
170
  "es6": true
@@ -1,5 +1,10 @@
1
1
  module.exports = {
2
2
  I: 'Ich',
3
+ contexts: {
4
+ Feature: 'Funktionalität',
5
+ Scenario: 'Szenario',
6
+ ScenarioOutline: 'Szenariogrundriss',
7
+ },
3
8
  actions: {
4
9
  amOutsideAngularApp: 'befinde_mich_außerhalb_der_angular_app',
5
10
  amInsideAngularApp: 'bedinde_mich_innerhalb_der_angular_app',
@@ -3,6 +3,7 @@ module.exports = {
3
3
  contexts: {
4
4
  Feature: 'Fonctionnalité',
5
5
  Scenario: 'Scénario',
6
+ ScenarioOutline: 'Plan du scénario',
6
7
  Before: 'Avant',
7
8
  After: 'Après',
8
9
  BeforeSuite: 'AvantLaSuite',
@@ -12,11 +13,15 @@ module.exports = {
12
13
  amOutsideAngularApp: 'suisALExtérieurDeLApplicationAngular',
13
14
  amInsideAngularApp: 'suisALIntérieurDeLApplicationAngular',
14
15
  waitForElement: 'attendsLElément',
15
- waitForClickable: 'attends',
16
+ waitForClickable: 'attendsDeCliquer',
16
17
  waitForVisible: 'attendsPourVoir',
18
+ waitForEnabled: 'attendsLActivationDe',
19
+ waitForInvisible: 'attendsLInvisibilitéDe',
20
+ waitInUrl: 'attendsDansLUrl',
17
21
  waitForText: 'attendsLeTexte',
18
22
  moveTo: 'vaisSur',
19
23
  refresh: 'rafraîchis',
24
+ refreshPage: 'rafraîchisLaPage',
20
25
  haveModule: 'ajouteLeModule',
21
26
  resetModule: 'réinitialiseLeModule',
22
27
  amOnPage: 'suisSurLaPage',
@@ -59,5 +64,13 @@ module.exports = {
59
64
  grabCookie: 'prendsLeCookie',
60
65
  resizeWindow: 'redimensionneLaFenêtre',
61
66
  wait: 'attends',
67
+ clearField: 'effaceLeChamp',
68
+ dontSeeElementInDOM: 'neVoisPasDansLeDOM',
69
+ moveCursorTo: 'bougeLeCurseurSur',
70
+ scrollTo: 'défileVers',
71
+ sendGetRequest: 'envoieLaRequêteGet',
72
+ sendPutRequest: 'envoieLaRequêtePut',
73
+ sendDeleteRequest: 'envoieLaRequêteDelete',
74
+ sendPostRequest: 'envoieLaRequêtePost',
62
75
  },
63
76
  };
@@ -3,6 +3,7 @@ module.exports = {
3
3
  contexts: {
4
4
  Feature: 'Caratteristica',
5
5
  Scenario: 'lo_scenario',
6
+ ScenarioOutline: 'Schema dello scenario',
6
7
  Before: 'Prima',
7
8
  After: 'Dopo',
8
9
  BeforeSuite: 'Prima_della_suite',
@@ -1,5 +1,10 @@
1
1
  module.exports = {
2
2
  I: '私は',
3
+ contexts: {
4
+ Feature: 'フィーチャ',
5
+ Scenario: 'シナリオ',
6
+ ScenarioOutline: 'シナリオアウトライン',
7
+ },
3
8
  actions: {
4
9
  amOutsideAngularApp: 'Angularの外に出る',
5
10
  amInsideAngularApp: 'Angularの中に入る',
@@ -14,34 +19,34 @@ module.exports = {
14
19
  amOnPage: 'ページを移動する',
15
20
  click: 'クリックする',
16
21
  doubleClick: 'ダブルクリックする',
17
- see: 'テキストがあるか確認する',
22
+ see: 'テキストがあることを確認する',
18
23
  dontSee: 'テキストがないことを確認する',
19
24
  selectOption: 'オプションを選ぶ',
20
25
  fillField: 'フィールドに入力する',
21
26
  pressKey: 'キー入力する',
22
27
  triggerMouseEvent: 'マウスイベントを発火させる',
23
28
  attachFile: 'ファイルを添付する',
24
- seeInField: 'フィールドに文字が入っているか確認する',
25
- dontSeeInField: 'フィールドに文字が入っていないか確認する',
29
+ seeInField: 'フィールドに文字が入っていることを確認する',
30
+ dontSeeInField: 'フィールドに文字が入っていないことを確認する',
26
31
  appendField: 'フィールドに文字を追加する',
27
32
  checkOption: 'オプションをチェックする',
28
- seeCheckboxIsChecked: 'チェックされているか確認する',
33
+ seeCheckboxIsChecked: 'チェックされていることを確認する',
29
34
  dontSeeCheckboxIsChecked: 'チェックされていないことを確認する',
30
35
  grabTextFrom: 'テキストを取得する',
31
36
  grabValueFrom: '入力値を取得する',
32
37
  grabAttributeFrom: '要素を取得する',
33
- seeInTitle: 'タイトルに文字が含まれるか確認する',
38
+ seeInTitle: 'タイトルに文字が含まれていることを確認する',
34
39
  dontSeeInTitle: 'タイトルに文字が含まれないことを確認する',
35
40
  grabTitle: 'タイトルを取得する',
36
- seeElement: '要素があるか確認する',
41
+ seeElement: '要素があることを確認する',
37
42
  dontSeeElement: '要素がないことを確認する',
38
- seeInSource: 'ソースにあるか確認する',
43
+ seeInSource: 'ソースにあることを確認する',
39
44
  dontSeeInSource: 'ソースにないことを確認する',
40
45
  executeScript: 'スクリプトを実行する',
41
46
  executeAsyncScript: '非同期スクリプトを実行する',
42
- seeInCurrentUrl: 'URLに含まれるか確認する',
47
+ seeInCurrentUrl: 'URLに含まれることを確認する',
43
48
  dontSeeInCurrentUrl: 'URLに含まれないことを確認する',
44
- seeCurrentUrlEquals: 'URLが等しいか確認する',
49
+ seeCurrentUrlEquals: 'URLが等しいことを確認する',
45
50
  dontSeeCurrentUrlEquals: 'URLが等しくないことを確認する',
46
51
  saveScreenshot: 'スクリーンショットを保存する',
47
52
  setCookie: 'Cookieをセットする',
@@ -1,5 +1,10 @@
1
1
  module.exports = {
2
2
  I: 'Ja',
3
+ contexts: {
4
+ Feature: 'Funkcja',
5
+ Scenario: 'Scenariusz',
6
+ ScenarioOutline: 'Szablon scenariusza',
7
+ },
3
8
  actions: {
4
9
  amOutsideAngularApp: 'jestem_poza_aplikacją_angular',
5
10
  amInsideAngularApp: 'jestem_w_aplikacji_angular',
@@ -3,6 +3,7 @@ module.exports = {
3
3
  contexts: {
4
4
  Feature: 'Funcionalidade',
5
5
  Scenario: 'Cenário',
6
+ ScenarioOutline: 'Esquema do Cenário',
6
7
  Before: 'Antes',
7
8
  After: 'Depois',
8
9
  BeforeSuite: 'AntesDaSuite',
@@ -3,6 +3,7 @@ module.exports = {
3
3
  contexts: {
4
4
  Feature: 'Цель',
5
5
  Scenario: 'Сценарий',
6
+ ScenarioOutline: 'Структура сценария',
6
7
  Before: 'Начало',
7
8
  After: 'Конец',
8
9
  BeforeSuite: 'Перед_всем',
@@ -1,5 +1,10 @@
1
1
  module.exports = {
2
2
  I: '我',
3
+ contexts: {
4
+ Feature: '功能',
5
+ Scenario: '场景',
6
+ ScenarioOutline: '场景大纲',
7
+ },
3
8
  actions: {
4
9
  amOutsideAngularApp: '在Angular应用外',
5
10
  amInsideAngularApp: '在Angular应用内',
@@ -1,5 +1,10 @@
1
1
  module.exports = {
2
2
  I: '我',
3
+ contexts: {
4
+ Feature: '功能',
5
+ Scenario: '場景',
6
+ ScenarioOutline: '場景大綱',
7
+ },
3
8
  actions: {
4
9
  amOutsideAngularApp: '在Angular應用外',
5
10
  amInsideAngularApp: '在Angular應用內',
@@ -12,26 +12,26 @@ declare namespace CodeceptJS {
12
12
 
13
13
  type Cookie = {
14
14
  name: string;
15
- value: string;
15
+ value: string | boolean;
16
16
  domain?: string,
17
17
  path?: string,
18
18
  };
19
19
 
20
20
  type RetryConfig = {
21
21
  /** Filter tests by string or regexp pattern */
22
- grep: string | RegExp;
22
+ grep?: string | RegExp;
23
23
  /** Number of times to repeat scenarios of a Feature */
24
- Feature: number;
24
+ Feature?: number;
25
25
  /** Number of times to repeat scenarios */
26
- Scenario: number;
26
+ Scenario?: number;
27
27
  /** Number of times to repeat Before hook */
28
- Before: number;
28
+ Before?: number;
29
29
  /** Number of times to repeat After hook */
30
- After: number;
30
+ After?: number;
31
31
  /** Number of times to repeat BeforeSuite hook */
32
- BeforeSuite: number;
32
+ BeforeSuite?: number;
33
33
  /** Number of times to repeat AfterSuite hook */
34
- AfterSuite: number;
34
+ AfterSuite?: number;
35
35
  };
36
36
 
37
37
  type TimeoutConfig = {
@@ -67,6 +67,14 @@ declare namespace CodeceptJS {
67
67
  * ```
68
68
  */
69
69
  output: string;
70
+ /**
71
+ * empty output folder for next run
72
+ *
73
+ * ```js
74
+ * emptyOutputFolder: true
75
+ * ```
76
+ */
77
+ emptyOutputFolder?: boolean;
70
78
  /**
71
79
  * Pattern to filter tests by name.
72
80
  * This option is useful if you plan to use multiple configs for different environments.
@@ -89,7 +97,7 @@ declare namespace CodeceptJS {
89
97
  * }
90
98
  * }
91
99
  * ```
92
- */
100
+ */
93
101
  helpers?: {
94
102
  /**
95
103
  * Run web tests controlling browsers via Playwright engine.
@@ -281,7 +289,7 @@ declare namespace CodeceptJS {
281
289
  * ```js
282
290
  * bootstrap: 'bootstrap.js',
283
291
  * ```
284
- */
292
+ */
285
293
  bootstrap?: (() => Promise<void>) | boolean | string;
286
294
  /**
287
295
  * [Execute code after tests](https://codecept.io/bootstrap/) finished.
@@ -295,7 +303,7 @@ declare namespace CodeceptJS {
295
303
  * ```js
296
304
  * teardown: 'teardown.js',
297
305
  * ```
298
- */
306
+ */
299
307
  teardown?: (() => Promise<void>) | boolean | string;
300
308
  /**
301
309
  * [Execute code before launching tests in parallel mode](https://codecept.io/bootstrap/#bootstrapall-teardownall)
@@ -304,7 +312,7 @@ declare namespace CodeceptJS {
304
312
  bootstrapAll?: (() => Promise<void>) | boolean | string;
305
313
  /**
306
314
  * [Execute JS code after finishing tests in parallel mode](https://codecept.io/bootstrap/#bootstrapall-teardownall)
307
- */
315
+ */
308
316
  teardownAll?: (() => Promise<void>) | boolean | string;
309
317
 
310
318
  /** Enable [localized test commands](https://codecept.io/translation/) */
@@ -320,7 +328,7 @@ declare namespace CodeceptJS {
320
328
  * ```
321
329
  * require: ["should"]
322
330
  * ```
323
- */
331
+ */
324
332
  require?: Array<string>;
325
333
 
326
334
  /**
@@ -341,6 +349,29 @@ declare namespace CodeceptJS {
341
349
  steps: string | Array<string>
342
350
  };
343
351
 
352
+ /**
353
+ * [AI](https://codecept.io/ai/) features configuration.
354
+ */
355
+ ai?: {
356
+ /** OpenAI model to use */
357
+ model?: string,
358
+ /** temperature, measure of randomness. Lower is better. */
359
+ temperature?: number,
360
+ /** configuration for processing HTML for GPT */
361
+ html?: {
362
+ /** max size of HTML to be sent to OpenAI to avoid token limit */
363
+ maxLength?: number,
364
+ /** should HTML be changed by removing non-interactive elements */
365
+ simplify?: boolean,
366
+ /** should HTML be minified before sending */
367
+ minify?: boolean,
368
+ interactiveElements?: Array<string>,
369
+ textElements?: Array<string>,
370
+ allowedAttrs?: Array<string>,
371
+ allowedRoles?: Array<string>,
372
+ }
373
+ },
374
+
344
375
  /**
345
376
  * Enable full promise-based helper methods for [TypeScript](https://codecept.io/typescript/) project.
346
377
  * If true, all helper methods are typed as asynchronous;
@@ -392,14 +423,17 @@ declare namespace CodeceptJS {
392
423
  | { ios: string }
393
424
  | { android: string; ios: string }
394
425
  | { react: string }
395
- | { shadow: string }
426
+ | { vue: string }
427
+ | { shadow: string[] }
396
428
  | { custom: string };
397
429
 
398
430
  interface CustomLocators {}
431
+ interface OtherLocators { props?: object }
399
432
  type LocatorOrString =
400
433
  | string
401
434
  | ILocator
402
435
  | Locator
436
+ | OtherLocators
403
437
  | CustomLocators[keyof CustomLocators];
404
438
 
405
439
  type StringOrSecret = string | CodeceptJS.Secret;
@@ -489,8 +523,10 @@ declare const Background: CodeceptJS.IHook;
489
523
  declare const Before: CodeceptJS.IHook;
490
524
  declare const After: CodeceptJS.IHook;
491
525
 
526
+ // Plugins
527
+ declare const __: any
528
+
492
529
  interface Window {
493
- codeceptjs: typeof CodeceptJS.browserCodecept;
494
530
  resq: any;
495
531
  }
496
532