@serenity-js/webdriverio 3.13.2 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/esm/adapter/TestRunnerLoader.js +5 -0
  3. package/esm/adapter/TestRunnerLoader.js.map +1 -1
  4. package/esm/adapter/WebdriverIOFrameworkAdapter.js +9 -0
  5. package/esm/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
  6. package/esm/adapter/WebdriverIOFrameworkAdapterFactory.js +3 -0
  7. package/esm/adapter/WebdriverIOFrameworkAdapterFactory.js.map +1 -1
  8. package/esm/adapter/WebdriverIONotifier.js +19 -13
  9. package/esm/adapter/WebdriverIONotifier.js.map +1 -1
  10. package/esm/adapter/reporter/BrowserCapabilitiesReporter.js +3 -2
  11. package/esm/adapter/reporter/BrowserCapabilitiesReporter.js.map +1 -1
  12. package/esm/adapter/reporter/OutputStreamBuffer.js +2 -1
  13. package/esm/adapter/reporter/OutputStreamBuffer.js.map +1 -1
  14. package/esm/adapter/reporter/OutputStreamBufferPrinter.js +3 -0
  15. package/esm/adapter/reporter/OutputStreamBufferPrinter.js.map +1 -1
  16. package/esm/screenplay/models/WebdriverIOBrowsingSession.js +3 -2
  17. package/esm/screenplay/models/WebdriverIOBrowsingSession.js.map +1 -1
  18. package/esm/screenplay/models/WebdriverIOCookie.js +1 -0
  19. package/esm/screenplay/models/WebdriverIOCookie.js.map +1 -1
  20. package/esm/screenplay/models/WebdriverIOErrorHandler.js +1 -0
  21. package/esm/screenplay/models/WebdriverIOErrorHandler.js.map +1 -1
  22. package/esm/screenplay/models/WebdriverIOModalDialogHandler.js +8 -5
  23. package/esm/screenplay/models/WebdriverIOModalDialogHandler.js.map +1 -1
  24. package/esm/screenplay/models/WebdriverIOPage.js +4 -0
  25. package/esm/screenplay/models/WebdriverIOPage.js.map +1 -1
  26. package/esm/screenplay/models/WebdriverIOPageElement.js.map +1 -1
  27. package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js +7 -5
  28. package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js.map +1 -1
  29. package/esm/screenplay/models/locators/WebdriverIOLocator.js +3 -0
  30. package/esm/screenplay/models/locators/WebdriverIOLocator.js.map +1 -1
  31. package/esm/screenplay/models/locators/WebdriverIORootLocator.js +1 -0
  32. package/esm/screenplay/models/locators/WebdriverIORootLocator.js.map +1 -1
  33. package/lib/adapter/TestRunnerLoader.js +5 -0
  34. package/lib/adapter/TestRunnerLoader.js.map +1 -1
  35. package/lib/adapter/WebdriverIOFrameworkAdapter.js +9 -0
  36. package/lib/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
  37. package/lib/adapter/WebdriverIOFrameworkAdapterFactory.js +3 -0
  38. package/lib/adapter/WebdriverIOFrameworkAdapterFactory.js.map +1 -1
  39. package/lib/adapter/WebdriverIONotifier.js +19 -13
  40. package/lib/adapter/WebdriverIONotifier.js.map +1 -1
  41. package/lib/adapter/reporter/BrowserCapabilitiesReporter.js +3 -2
  42. package/lib/adapter/reporter/BrowserCapabilitiesReporter.js.map +1 -1
  43. package/lib/adapter/reporter/OutputStreamBuffer.js +2 -1
  44. package/lib/adapter/reporter/OutputStreamBuffer.js.map +1 -1
  45. package/lib/adapter/reporter/OutputStreamBufferPrinter.js +3 -0
  46. package/lib/adapter/reporter/OutputStreamBufferPrinter.js.map +1 -1
  47. package/lib/screenplay/models/WebdriverIOBrowsingSession.js +3 -2
  48. package/lib/screenplay/models/WebdriverIOBrowsingSession.js.map +1 -1
  49. package/lib/screenplay/models/WebdriverIOCookie.js +1 -0
  50. package/lib/screenplay/models/WebdriverIOCookie.js.map +1 -1
  51. package/lib/screenplay/models/WebdriverIOErrorHandler.js +1 -0
  52. package/lib/screenplay/models/WebdriverIOErrorHandler.js.map +1 -1
  53. package/lib/screenplay/models/WebdriverIOModalDialogHandler.js +8 -5
  54. package/lib/screenplay/models/WebdriverIOModalDialogHandler.js.map +1 -1
  55. package/lib/screenplay/models/WebdriverIOPage.js +4 -0
  56. package/lib/screenplay/models/WebdriverIOPage.js.map +1 -1
  57. package/lib/screenplay/models/WebdriverIOPageElement.js.map +1 -1
  58. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js +7 -5
  59. package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js.map +1 -1
  60. package/lib/screenplay/models/locators/WebdriverIOLocator.js +3 -0
  61. package/lib/screenplay/models/locators/WebdriverIOLocator.js.map +1 -1
  62. package/lib/screenplay/models/locators/WebdriverIORootLocator.js +1 -0
  63. package/lib/screenplay/models/locators/WebdriverIORootLocator.js.map +1 -1
  64. package/package.json +18 -18
  65. package/src/screenplay/models/WebdriverIOBrowsingSession.ts +2 -2
  66. package/src/screenplay/models/WebdriverIOPageElement.ts +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/webdriverio",
3
- "version": "3.13.2",
3
+ "version": "3.14.0",
4
4
  "description": "Serenity/JS reporter and Screenplay Pattern library for WebdriverIO",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -64,10 +64,10 @@
64
64
  "node": "^16.13 || ^18.12 || ^20"
65
65
  },
66
66
  "dependencies": {
67
- "@serenity-js/core": "3.13.2",
68
- "@serenity-js/rest": "3.13.2",
69
- "@serenity-js/web": "3.13.2",
70
- "@wdio/reporter": "8.21.0",
67
+ "@serenity-js/core": "3.14.0",
68
+ "@serenity-js/rest": "3.14.0",
69
+ "@serenity-js/web": "3.14.0",
70
+ "@wdio/reporter": "8.24.2",
71
71
  "deepmerge": "^4.3.1",
72
72
  "tiny-types": "^1.21.0"
73
73
  },
@@ -75,8 +75,8 @@
75
75
  "@serenity-js/cucumber": "^3.0.0",
76
76
  "@serenity-js/jasmine": "^3.0.0",
77
77
  "@serenity-js/mocha": "^3.0.0",
78
- "@wdio/cli": "^8.22.1",
79
- "webdriverio": "^8.22.1"
78
+ "@wdio/cli": "^8.24.6",
79
+ "webdriverio": "^8.24.6"
80
80
  },
81
81
  "peerDependenciesMeta": {
82
82
  "@serenity-js/cucumber": {
@@ -91,22 +91,22 @@
91
91
  },
92
92
  "devDependencies": {
93
93
  "@integration/testing-tools": "3.0.0",
94
- "@types/mocha": "^10.0.4",
95
- "@wdio/cli": "8.22.1",
96
- "@wdio/devtools-service": "8.22.1",
97
- "@wdio/dot-reporter": "8.21.0",
98
- "@wdio/local-runner": "8.22.1",
99
- "@wdio/spec-reporter": "8.21.0",
100
- "@wdio/types": "8.21.0",
101
- "axios": "^1.6.1",
94
+ "@types/mocha": "^10.0.6",
95
+ "@wdio/cli": "8.24.6",
96
+ "@wdio/devtools-service": "8.24.6",
97
+ "@wdio/dot-reporter": "8.24.2",
98
+ "@wdio/local-runner": "8.24.6",
99
+ "@wdio/spec-reporter": "8.24.2",
100
+ "@wdio/types": "8.24.2",
101
+ "axios": "^1.6.2",
102
102
  "c8": "8.0.1",
103
103
  "cross-env": "^7.0.3",
104
104
  "mocha": "^10.2.0",
105
105
  "mocha-multi": "^1.1.7",
106
106
  "mocha-testdata": "^1.2.0",
107
107
  "puppeteer-core": "^20.9.0",
108
- "start-server-and-test": "^2.0.2",
109
- "webdriverio": "8.22.1"
108
+ "start-server-and-test": "^2.0.3",
109
+ "webdriverio": "8.24.6"
110
110
  },
111
- "gitHead": "ed08db56c2c947c2c2ac4d9d4e95f9f68e90d2a4"
111
+ "gitHead": "a81b85d03b62c662c00aecebc75ed35a97815a6b"
112
112
  }
@@ -153,7 +153,7 @@ export class WebdriverIOBrowsingSession extends BrowsingSession<WebdriverIOPage>
153
153
  const handles = await this.browser.getWindowHandles();
154
154
 
155
155
  if (handles.length !== pages.length) {
156
- throw new LogicError(`The number of registered Puppeteer pages doesn't match WebdriverIO window handles.`)
156
+ throw new LogicError(`The number of registered Puppeteer pages doesn't match WebdriverIO window handles`)
157
157
  }
158
158
 
159
159
  const index = handles.indexOf(windowHandle);
@@ -164,7 +164,7 @@ export class WebdriverIOBrowsingSession extends BrowsingSession<WebdriverIOPage>
164
164
  const page = pages[index] as unknown as Page;
165
165
 
166
166
  if (! page) {
167
- throw new LogicError(`Couldn't find Puppeteer page for WebdriverIO window handle ${ windowHandle }.`)
167
+ throw new LogicError(`Couldn't find Puppeteer page for WebdriverIO window handle ${ windowHandle }`)
168
168
  }
169
169
 
170
170
  return page;
@@ -29,7 +29,7 @@ export class WebdriverIOPageElement extends PageElement<WebdriverIO.Element> {
29
29
  }
30
30
 
31
31
  // eslint-disable-next-line unicorn/consistent-function-scoping
32
- async function removeCharactersFrom(browser: WebdriverIO.Browser | WebdriverIO.Element, inputElement: WebdriverIO.Element, numberOfCharacters: number): Promise<void> {
32
+ async function removeCharactersFrom(browser: WebdriverIO.Browser, inputElement: WebdriverIO.Element, numberOfCharacters: number): Promise<void> {
33
33
  await browser.execute(
34
34
  /* c8 ignore next */
35
35
  function focusOn(element: any) {
@@ -259,10 +259,10 @@ export class WebdriverIOPageElement extends PageElement<WebdriverIO.Element> {
259
259
 
260
260
  // based on https://github.com/webdriverio/webdriverio/blob/dec6da76b0e218af935dbf39735ae3491d5edd8c/packages/webdriverio/src/utils/index.ts#L98
261
261
 
262
- private async browserFor(nativeElement: WebdriverIO.Element | WebdriverIO.Browser): Promise<WebdriverIO.Element | WebdriverIO.Browser> {
262
+ private async browserFor(nativeElement: WebdriverIO.Element | WebdriverIO.Browser): Promise<WebdriverIO.Browser> {
263
263
  const element = nativeElement as WebdriverIO.Element;
264
264
  return element.parent
265
265
  ? this.browserFor(element.parent)
266
- : nativeElement
266
+ : nativeElement as WebdriverIO.Browser
267
267
  }
268
268
  }