@serenity-js/webdriverio 3.1.6 → 3.2.1
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/CHANGELOG.md +26 -0
- package/README.md +91 -41
- package/esm/adapter/TestRunnerLoader.d.ts +16 -0
- package/esm/adapter/TestRunnerLoader.d.ts.map +1 -0
- package/esm/adapter/TestRunnerLoader.js +58 -0
- package/esm/adapter/TestRunnerLoader.js.map +1 -0
- package/esm/adapter/WebdriverIOFrameworkAdapter.d.ts +24 -0
- package/esm/adapter/WebdriverIOFrameworkAdapter.d.ts.map +1 -0
- package/esm/adapter/WebdriverIOFrameworkAdapter.js +77 -0
- package/esm/adapter/WebdriverIOFrameworkAdapter.js.map +1 -0
- package/esm/adapter/WebdriverIOFrameworkAdapterFactory.d.ts +19 -0
- package/esm/adapter/WebdriverIOFrameworkAdapterFactory.d.ts.map +1 -0
- package/esm/adapter/WebdriverIOFrameworkAdapterFactory.js +15 -0
- package/esm/adapter/WebdriverIOFrameworkAdapterFactory.js.map +1 -0
- package/esm/adapter/WebdriverIONotifier.d.ts +72 -0
- package/esm/adapter/WebdriverIONotifier.d.ts.map +1 -0
- package/esm/adapter/WebdriverIONotifier.js +385 -0
- package/esm/adapter/WebdriverIONotifier.js.map +1 -0
- package/esm/adapter/index.d.ts +2 -0
- package/esm/adapter/index.d.ts.map +1 -0
- package/esm/adapter/index.js +2 -0
- package/esm/adapter/index.js.map +1 -0
- package/esm/adapter/reporter/BrowserCapabilitiesReporter.d.ts +18 -0
- package/esm/adapter/reporter/BrowserCapabilitiesReporter.d.ts.map +1 -0
- package/esm/adapter/reporter/BrowserCapabilitiesReporter.js +41 -0
- package/esm/adapter/reporter/BrowserCapabilitiesReporter.js.map +1 -0
- package/esm/adapter/reporter/InitialisesReporters.d.ts +8 -0
- package/esm/adapter/reporter/InitialisesReporters.d.ts.map +1 -0
- package/esm/adapter/reporter/InitialisesReporters.js +2 -0
- package/esm/adapter/reporter/InitialisesReporters.js.map +1 -0
- package/esm/adapter/reporter/OutputStreamBuffer.d.ts +13 -0
- package/esm/adapter/reporter/OutputStreamBuffer.d.ts.map +1 -0
- package/esm/adapter/reporter/OutputStreamBuffer.js +24 -0
- package/esm/adapter/reporter/OutputStreamBuffer.js.map +1 -0
- package/esm/adapter/reporter/OutputStreamBufferPrinter.d.ts +16 -0
- package/esm/adapter/reporter/OutputStreamBufferPrinter.d.ts.map +1 -0
- package/esm/adapter/reporter/OutputStreamBufferPrinter.js +21 -0
- package/esm/adapter/reporter/OutputStreamBufferPrinter.js.map +1 -0
- package/esm/adapter/reporter/ProvidesWriteStream.d.ts +8 -0
- package/esm/adapter/reporter/ProvidesWriteStream.d.ts.map +1 -0
- package/esm/adapter/reporter/ProvidesWriteStream.js +2 -0
- package/esm/adapter/reporter/ProvidesWriteStream.js.map +1 -0
- package/esm/adapter/reporter/TagPrinter.d.ts +17 -0
- package/esm/adapter/reporter/TagPrinter.d.ts.map +1 -0
- package/esm/adapter/reporter/TagPrinter.js +52 -0
- package/esm/adapter/reporter/TagPrinter.js.map +1 -0
- package/esm/adapter/reporter/index.d.ts +6 -0
- package/esm/adapter/reporter/index.d.ts.map +1 -0
- package/esm/adapter/reporter/index.js +6 -0
- package/esm/adapter/reporter/index.js.map +1 -0
- package/esm/api.d.ts +3 -0
- package/esm/api.d.ts.map +1 -0
- package/esm/api.js +2 -0
- package/esm/api.js.map +1 -0
- package/esm/config/WebdriverIOConfig.d.ts.map +1 -0
- package/esm/config/WebdriverIOConfig.js +2 -0
- package/esm/config/WebdriverIOConfig.js.map +1 -0
- package/esm/config/index.d.ts +2 -0
- package/esm/config/index.d.ts.map +1 -0
- package/esm/config/index.js +2 -0
- package/esm/config/index.js.map +1 -0
- package/esm/index.d.ts +16 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +14 -0
- package/esm/index.js.map +1 -0
- package/esm/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts +42 -0
- package/esm/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts.map +1 -0
- package/esm/screenplay/abilities/BrowseTheWebWithWebdriverIO.js +48 -0
- package/esm/screenplay/abilities/BrowseTheWebWithWebdriverIO.js.map +1 -0
- package/esm/screenplay/abilities/index.d.ts +2 -0
- package/esm/screenplay/abilities/index.d.ts.map +1 -0
- package/esm/screenplay/abilities/index.js +2 -0
- package/esm/screenplay/abilities/index.js.map +1 -0
- package/esm/screenplay/index.d.ts +3 -0
- package/esm/screenplay/index.d.ts.map +1 -0
- package/esm/screenplay/index.js +3 -0
- package/esm/screenplay/index.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOBrowsingSession.d.ts +24 -0
- package/esm/screenplay/models/WebdriverIOBrowsingSession.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOBrowsingSession.js +121 -0
- package/esm/screenplay/models/WebdriverIOBrowsingSession.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOCookie.d.ts +14 -0
- package/esm/screenplay/models/WebdriverIOCookie.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOCookie.js +40 -0
- package/esm/screenplay/models/WebdriverIOCookie.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOErrorHandler.d.ts +9 -0
- package/esm/screenplay/models/WebdriverIOErrorHandler.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOErrorHandler.js +19 -0
- package/esm/screenplay/models/WebdriverIOErrorHandler.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOModalDialogHandler.d.ts +29 -0
- package/esm/screenplay/models/WebdriverIOModalDialogHandler.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOModalDialogHandler.js +73 -0
- package/esm/screenplay/models/WebdriverIOModalDialogHandler.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOPage.d.ts +48 -0
- package/esm/screenplay/models/WebdriverIOPage.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOPage.js +203 -0
- package/esm/screenplay/models/WebdriverIOPage.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOPageElement.d.ts +31 -0
- package/esm/screenplay/models/WebdriverIOPageElement.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOPageElement.js +205 -0
- package/esm/screenplay/models/WebdriverIOPageElement.js.map +1 -0
- package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts +32 -0
- package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js +78 -0
- package/esm/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js.map +1 -0
- package/esm/screenplay/models/WebdriverProtocolErrorCode.d.ts +39 -0
- package/esm/screenplay/models/WebdriverProtocolErrorCode.d.ts.map +1 -0
- package/esm/screenplay/models/WebdriverProtocolErrorCode.js +40 -0
- package/esm/screenplay/models/WebdriverProtocolErrorCode.js.map +1 -0
- package/esm/screenplay/models/index.d.ts +5 -0
- package/esm/screenplay/models/index.d.ts.map +1 -0
- package/esm/screenplay/models/index.js +5 -0
- package/esm/screenplay/models/index.js.map +1 -0
- package/esm/screenplay/models/locators/WebdriverIOLocator.d.ts +22 -0
- package/esm/screenplay/models/locators/WebdriverIOLocator.d.ts.map +1 -0
- package/esm/screenplay/models/locators/WebdriverIOLocator.js +97 -0
- package/esm/screenplay/models/locators/WebdriverIOLocator.js.map +1 -0
- package/esm/screenplay/models/locators/WebdriverIORootLocator.d.ts +17 -0
- package/esm/screenplay/models/locators/WebdriverIORootLocator.d.ts.map +1 -0
- package/esm/screenplay/models/locators/WebdriverIORootLocator.js +28 -0
- package/esm/screenplay/models/locators/WebdriverIORootLocator.js.map +1 -0
- package/esm/screenplay/models/locators/index.d.ts +3 -0
- package/esm/screenplay/models/locators/index.d.ts.map +1 -0
- package/esm/screenplay/models/locators/index.js +3 -0
- package/esm/screenplay/models/locators/index.js.map +1 -0
- package/lib/adapter/TestRunnerLoader.d.ts +3 -3
- package/lib/adapter/TestRunnerLoader.d.ts.map +1 -1
- package/lib/adapter/TestRunnerLoader.js +8 -8
- package/lib/adapter/TestRunnerLoader.js.map +1 -1
- package/lib/adapter/WebdriverIOFrameworkAdapter.d.ts +5 -4
- package/lib/adapter/WebdriverIOFrameworkAdapter.d.ts.map +1 -1
- package/lib/adapter/WebdriverIOFrameworkAdapter.js +51 -21
- package/lib/adapter/WebdriverIOFrameworkAdapter.js.map +1 -1
- package/lib/adapter/WebdriverIOFrameworkAdapterFactory.d.ts +5 -5
- package/lib/adapter/WebdriverIOFrameworkAdapterFactory.d.ts.map +1 -1
- package/lib/adapter/WebdriverIOFrameworkAdapterFactory.js +2 -2
- package/lib/adapter/WebdriverIOFrameworkAdapterFactory.js.map +1 -1
- package/lib/adapter/WebdriverIONotifier.d.ts +6 -6
- package/lib/adapter/WebdriverIONotifier.d.ts.map +1 -1
- package/lib/adapter/WebdriverIONotifier.js +48 -24
- package/lib/adapter/WebdriverIONotifier.js.map +1 -1
- package/lib/adapter/index.d.ts +1 -2
- package/lib/adapter/index.d.ts.map +1 -1
- package/lib/adapter/index.js +1 -2
- package/lib/adapter/index.js.map +1 -1
- package/lib/adapter/reporter/BrowserCapabilitiesReporter.d.ts +1 -1
- package/lib/adapter/reporter/BrowserCapabilitiesReporter.d.ts.map +1 -1
- package/lib/adapter/reporter/BrowserCapabilitiesReporter.js +4 -4
- package/lib/adapter/reporter/BrowserCapabilitiesReporter.js.map +1 -1
- package/lib/adapter/reporter/InitialisesReporters.d.ts +2 -2
- package/lib/adapter/reporter/InitialisesReporters.d.ts.map +1 -1
- package/lib/adapter/reporter/OutputStreamBuffer.d.ts +1 -1
- package/lib/adapter/reporter/OutputStreamBuffer.d.ts.map +1 -1
- package/lib/adapter/reporter/OutputStreamBufferPrinter.d.ts +3 -3
- package/lib/adapter/reporter/OutputStreamBufferPrinter.d.ts.map +1 -1
- package/lib/adapter/reporter/OutputStreamBufferPrinter.js +2 -2
- package/lib/adapter/reporter/OutputStreamBufferPrinter.js.map +1 -1
- package/lib/adapter/reporter/ProvidesWriteStream.d.ts +1 -1
- package/lib/adapter/reporter/ProvidesWriteStream.d.ts.map +1 -1
- package/lib/adapter/reporter/TagPrinter.d.ts +2 -2
- package/lib/adapter/reporter/TagPrinter.d.ts.map +1 -1
- package/lib/adapter/reporter/TagPrinter.js +7 -5
- package/lib/adapter/reporter/TagPrinter.js.map +1 -1
- package/lib/adapter/reporter/index.d.ts +5 -5
- package/lib/adapter/reporter/index.d.ts.map +1 -1
- package/lib/adapter/reporter/index.js +5 -5
- package/lib/adapter/reporter/index.js.map +1 -1
- package/lib/api.d.ts +3 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/api.js +18 -0
- package/lib/api.js.map +1 -0
- package/lib/config/WebdriverIOConfig.d.ts +128 -0
- package/lib/config/WebdriverIOConfig.d.ts.map +1 -0
- package/lib/config/WebdriverIOConfig.js.map +1 -0
- package/lib/config/index.d.ts +2 -0
- package/lib/config/index.d.ts.map +1 -0
- package/lib/config/index.js +18 -0
- package/lib/config/index.js.map +1 -0
- package/lib/index.d.ts +15 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -5
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -0
- package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts +5 -5
- package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js +2 -2
- package/lib/screenplay/abilities/BrowseTheWebWithWebdriverIO.js.map +1 -1
- package/lib/screenplay/abilities/index.d.ts +1 -1
- package/lib/screenplay/abilities/index.d.ts.map +1 -1
- package/lib/screenplay/abilities/index.js +1 -1
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/index.d.ts +2 -2
- package/lib/screenplay/index.d.ts.map +1 -1
- package/lib/screenplay/index.js +2 -2
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOBrowsingSession.d.ts +4 -4
- package/lib/screenplay/models/WebdriverIOBrowsingSession.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOBrowsingSession.js +12 -12
- package/lib/screenplay/models/WebdriverIOBrowsingSession.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOCookie.d.ts +2 -2
- package/lib/screenplay/models/WebdriverIOCookie.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOCookie.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOErrorHandler.d.ts +1 -1
- package/lib/screenplay/models/WebdriverIOErrorHandler.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOModalDialogHandler.d.ts +3 -3
- package/lib/screenplay/models/WebdriverIOModalDialogHandler.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOModalDialogHandler.js +3 -3
- package/lib/screenplay/models/WebdriverIOModalDialogHandler.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOPage.d.ts +9 -9
- package/lib/screenplay/models/WebdriverIOPage.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOPage.js +9 -12
- package/lib/screenplay/models/WebdriverIOPage.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOPageElement.d.ts +2 -2
- package/lib/screenplay/models/WebdriverIOPageElement.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOPageElement.js +16 -15
- package/lib/screenplay/models/WebdriverIOPageElement.js.map +1 -1
- package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts +1 -1
- package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.d.ts.map +1 -1
- package/lib/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.js.map +1 -1
- package/lib/screenplay/models/index.d.ts +4 -4
- package/lib/screenplay/models/index.d.ts.map +1 -1
- package/lib/screenplay/models/index.js +4 -4
- package/lib/screenplay/models/index.js.map +1 -1
- package/lib/screenplay/models/locators/WebdriverIOLocator.d.ts +10 -10
- package/lib/screenplay/models/locators/WebdriverIOLocator.d.ts.map +1 -1
- package/lib/screenplay/models/locators/WebdriverIOLocator.js +3 -3
- package/lib/screenplay/models/locators/WebdriverIOLocator.js.map +1 -1
- package/lib/screenplay/models/locators/WebdriverIORootLocator.d.ts +5 -5
- package/lib/screenplay/models/locators/WebdriverIORootLocator.d.ts.map +1 -1
- package/lib/screenplay/models/locators/WebdriverIORootLocator.js.map +1 -1
- package/lib/screenplay/models/locators/index.d.ts +2 -2
- package/lib/screenplay/models/locators/index.d.ts.map +1 -1
- package/lib/screenplay/models/locators/index.js +2 -2
- package/lib/screenplay/models/locators/index.js.map +1 -1
- package/package.json +40 -43
- package/src/adapter/TestRunnerLoader.ts +15 -10
- package/src/adapter/WebdriverIOFrameworkAdapter.ts +39 -26
- package/src/adapter/WebdriverIOFrameworkAdapterFactory.ts +4 -4
- package/src/adapter/WebdriverIONotifier.ts +37 -14
- package/src/adapter/index.ts +1 -2
- package/src/adapter/reporter/BrowserCapabilitiesReporter.ts +4 -4
- package/src/adapter/reporter/InitialisesReporters.ts +2 -2
- package/src/adapter/reporter/OutputStreamBuffer.ts +1 -1
- package/src/adapter/reporter/OutputStreamBufferPrinter.ts +3 -3
- package/src/adapter/reporter/ProvidesWriteStream.ts +1 -1
- package/src/adapter/reporter/TagPrinter.ts +6 -4
- package/src/adapter/reporter/index.ts +5 -5
- package/src/api.ts +2 -0
- package/src/config/index.ts +1 -0
- package/src/index.ts +27 -10
- package/src/screenplay/abilities/BrowseTheWebWithWebdriverIO.ts +5 -5
- package/src/screenplay/abilities/index.ts +1 -1
- package/src/screenplay/index.ts +2 -2
- package/src/screenplay/models/WebdriverIOBrowsingSession.ts +8 -8
- package/src/screenplay/models/WebdriverIOCookie.ts +2 -2
- package/src/screenplay/models/WebdriverIOErrorHandler.ts +1 -1
- package/src/screenplay/models/WebdriverIOModalDialogHandler.ts +4 -4
- package/src/screenplay/models/WebdriverIOPage.ts +11 -15
- package/src/screenplay/models/WebdriverIOPageElement.ts +21 -21
- package/src/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.ts +8 -3
- package/src/screenplay/models/index.ts +4 -4
- package/src/screenplay/models/locators/WebdriverIOLocator.ts +17 -17
- package/src/screenplay/models/locators/WebdriverIORootLocator.ts +5 -5
- package/src/screenplay/models/locators/index.ts +2 -2
- package/lib/adapter/WebdriverIOConfig.d.ts.map +0 -1
- package/lib/adapter/WebdriverIOConfig.js.map +0 -1
- package/tsconfig.build.json +0 -17
- /package/{lib/adapter → esm/config}/WebdriverIOConfig.d.ts +0 -0
- /package/lib/{adapter → config}/WebdriverIOConfig.js +0 -0
- /package/src/{adapter → config}/WebdriverIOConfig.ts +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AbsentModalDialog, AcceptedModalDialog, DismissedModalDialog, ModalDialogHandler } from '@serenity-js/web';
|
|
2
|
+
/**
|
|
3
|
+
* WebdriverIO-specific implementation of {@apilink {ModalDialogHandler}, applicable when WebdriverIO
|
|
4
|
+
* uses [Puppeteer](https://developer.chrome.com/docs/puppeteer/).
|
|
5
|
+
*
|
|
6
|
+
* Automatically handles any simple JavaScript modal dialog windows, such as
|
|
7
|
+
* those opened by [`window.alert()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert),
|
|
8
|
+
* [`window.confirm()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm),
|
|
9
|
+
* or [`window.prompt()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt).
|
|
10
|
+
*
|
|
11
|
+
* This helps to avoid Puppeteer hanging when there's an interaction pending
|
|
12
|
+
* and a dialog is already open, see https://github.com/puppeteer/puppeteer/issues/2481
|
|
13
|
+
*
|
|
14
|
+
* ## Learn more
|
|
15
|
+
* - {@apilink WebdriverIOModalDialogHandler}
|
|
16
|
+
*/
|
|
17
|
+
export class WebdriverIOPuppeteerModalDialogHandler extends ModalDialogHandler {
|
|
18
|
+
constructor(page) {
|
|
19
|
+
super();
|
|
20
|
+
this.page = page;
|
|
21
|
+
this.dialogHandlingInProgress = false;
|
|
22
|
+
this.defaultHandler = async (dialog) => {
|
|
23
|
+
await dialog.dismiss();
|
|
24
|
+
return new DismissedModalDialog(dialog.message());
|
|
25
|
+
};
|
|
26
|
+
this.currentHandler = this.defaultHandler;
|
|
27
|
+
// remove the default WebdriverIO handler because it makes any other listeners hang
|
|
28
|
+
// https://github.com/webdriverio/webdriverio/blob/518c56a61353b2f65436b83c618117021da7e622/packages/devtools/src/devtoolsdriver.ts#L69
|
|
29
|
+
this.page.removeAllListeners('dialog');
|
|
30
|
+
// register Serenity/JS handler instead
|
|
31
|
+
this.page.on('dialog', async (dialog) => {
|
|
32
|
+
// Puppeteer doesn't seem to synchronise async handlers correctly,
|
|
33
|
+
// hence the handleModalDialog wrapper and the `dialogHandlingInProgress` lock.
|
|
34
|
+
await this.handleModalDialog(() => this.currentHandler(dialog));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async acceptNext() {
|
|
38
|
+
this.currentHandler = async (dialog) => {
|
|
39
|
+
await dialog.accept(dialog.defaultValue());
|
|
40
|
+
return new AcceptedModalDialog(dialog.message());
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async acceptNextWithValue(text) {
|
|
44
|
+
this.currentHandler = async (dialog) => {
|
|
45
|
+
await dialog.accept(String(text));
|
|
46
|
+
return new AcceptedModalDialog(dialog.message());
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async dismissNext() {
|
|
50
|
+
this.currentHandler = async (dialog) => {
|
|
51
|
+
await dialog.dismiss();
|
|
52
|
+
return new DismissedModalDialog(dialog.message());
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async reset() {
|
|
56
|
+
this.modalDialog = new AbsentModalDialog();
|
|
57
|
+
this.currentHandler = this.defaultHandler;
|
|
58
|
+
}
|
|
59
|
+
async discard() {
|
|
60
|
+
this.page.off('dialog', this.currentHandler);
|
|
61
|
+
}
|
|
62
|
+
async last() {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
const interval = setInterval(() => {
|
|
65
|
+
if (!this.dialogHandlingInProgress) {
|
|
66
|
+
clearInterval(interval);
|
|
67
|
+
resolve(this.modalDialog);
|
|
68
|
+
}
|
|
69
|
+
}, 25);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async handleModalDialog(handler) {
|
|
73
|
+
this.dialogHandlingInProgress = true;
|
|
74
|
+
this.modalDialog = await handler();
|
|
75
|
+
this.dialogHandlingInProgress = false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=WebdriverIOPuppeteerModalDialogHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverIOPuppeteerModalDialogHandler.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverIOPuppeteerModalDialogHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://developer.mozilla.org/en-US/docs/Web/WebDriver/Errors#table_of_errors
|
|
3
|
+
* https://github.com/SeleniumHQ/selenium/blob/e70e22390000a65a6b706fbb33bbff8913555670/javascript/node/selenium-webdriver/lib/error.js#L441
|
|
4
|
+
*
|
|
5
|
+
* @package
|
|
6
|
+
*/
|
|
7
|
+
export declare enum WebdriverProtocolErrorCode {
|
|
8
|
+
WebDriverError = "unknown error",
|
|
9
|
+
DetachedShadowRootError = "detached shadow root",
|
|
10
|
+
ElementClickInterceptedError = "element click intercepted",
|
|
11
|
+
ElementNotInteractableError = "element not interactable",
|
|
12
|
+
ElementNotSelectableError = "element not selectable",
|
|
13
|
+
InsecureCertificateError = "insecure certificate",
|
|
14
|
+
InvalidArgumentError = "invalid argument",
|
|
15
|
+
InvalidCookieDomainError = "invalid cookie domain",
|
|
16
|
+
InvalidCoordinatesError = "invalid coordinates",
|
|
17
|
+
InvalidElementStateError = "invalid element state",
|
|
18
|
+
InvalidSelectorError = "invalid selector",
|
|
19
|
+
NoSuchSessionError = "invalid session id",
|
|
20
|
+
JavascriptError = "javascript error",
|
|
21
|
+
MoveTargetOutOfBoundsError = "move target out of bounds",
|
|
22
|
+
NoSuchAlertError = "no such alert",
|
|
23
|
+
NoSuchCookieError = "no such cookie",
|
|
24
|
+
NoSuchElementError = "no such element",
|
|
25
|
+
NoSuchFrameError = "no such frame",
|
|
26
|
+
NoSuchShadowRootError = "no such shadow root",
|
|
27
|
+
NoSuchWindowError = "no such window",
|
|
28
|
+
ScriptTimeoutError = "script timeout",
|
|
29
|
+
SessionNotCreatedError = "session not created",
|
|
30
|
+
StaleElementReferenceError = "stale element reference",
|
|
31
|
+
TimeoutError = "timeout",
|
|
32
|
+
UnableToSetCookieError = "unable to set cookie",
|
|
33
|
+
UnableToCaptureScreenError = "unable to capture screen",
|
|
34
|
+
UnexpectedAlertOpenError = "unexpected alert open",
|
|
35
|
+
UnknownCommandError = "unknown command",
|
|
36
|
+
UnknownMethodError = "unknown method",
|
|
37
|
+
UnsupportedOperationError = "unsupported operation"
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=WebdriverProtocolErrorCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverProtocolErrorCode.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverProtocolErrorCode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,0BAA0B;IAClC,cAAc,kBAAkB;IAChC,uBAAuB,yBAAyB;IAChD,4BAA4B,8BAA8B;IAC1D,2BAA2B,6BAA6B;IACxD,yBAAyB,2BAA2B;IACpD,wBAAwB,yBAAyB;IACjD,oBAAoB,qBAAqB;IACzC,wBAAwB,0BAA0B;IAClD,uBAAuB,wBAAwB;IAC/C,wBAAwB,0BAA0B;IAClD,oBAAoB,qBAAqB;IACzC,kBAAkB,uBAAuB;IACzC,eAAe,qBAAqB;IACpC,0BAA0B,8BAA8B;IACxD,gBAAgB,kBAAkB;IAClC,iBAAiB,mBAAmB;IACpC,kBAAkB,oBAAoB;IACtC,gBAAgB,kBAAkB;IAClC,qBAAqB,wBAAwB;IAC7C,iBAAiB,mBAAmB;IACpC,kBAAkB,mBAAmB;IACrC,sBAAsB,wBAAwB;IAC9C,0BAA0B,4BAA4B;IACtD,YAAY,YAAY;IACxB,sBAAsB,yBAAyB;IAC/C,0BAA0B,6BAA6B;IACvD,wBAAwB,0BAA0B;IAClD,mBAAmB,oBAAoB;IACvC,kBAAkB,mBAAmB;IACrC,yBAAyB,0BAA0B;CACtD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* https://developer.mozilla.org/en-US/docs/Web/WebDriver/Errors#table_of_errors
|
|
3
|
+
* https://github.com/SeleniumHQ/selenium/blob/e70e22390000a65a6b706fbb33bbff8913555670/javascript/node/selenium-webdriver/lib/error.js#L441
|
|
4
|
+
*
|
|
5
|
+
* @package
|
|
6
|
+
*/
|
|
7
|
+
export var WebdriverProtocolErrorCode;
|
|
8
|
+
(function (WebdriverProtocolErrorCode) {
|
|
9
|
+
WebdriverProtocolErrorCode["WebDriverError"] = "unknown error";
|
|
10
|
+
WebdriverProtocolErrorCode["DetachedShadowRootError"] = "detached shadow root";
|
|
11
|
+
WebdriverProtocolErrorCode["ElementClickInterceptedError"] = "element click intercepted";
|
|
12
|
+
WebdriverProtocolErrorCode["ElementNotInteractableError"] = "element not interactable";
|
|
13
|
+
WebdriverProtocolErrorCode["ElementNotSelectableError"] = "element not selectable";
|
|
14
|
+
WebdriverProtocolErrorCode["InsecureCertificateError"] = "insecure certificate";
|
|
15
|
+
WebdriverProtocolErrorCode["InvalidArgumentError"] = "invalid argument";
|
|
16
|
+
WebdriverProtocolErrorCode["InvalidCookieDomainError"] = "invalid cookie domain";
|
|
17
|
+
WebdriverProtocolErrorCode["InvalidCoordinatesError"] = "invalid coordinates";
|
|
18
|
+
WebdriverProtocolErrorCode["InvalidElementStateError"] = "invalid element state";
|
|
19
|
+
WebdriverProtocolErrorCode["InvalidSelectorError"] = "invalid selector";
|
|
20
|
+
WebdriverProtocolErrorCode["NoSuchSessionError"] = "invalid session id";
|
|
21
|
+
WebdriverProtocolErrorCode["JavascriptError"] = "javascript error";
|
|
22
|
+
WebdriverProtocolErrorCode["MoveTargetOutOfBoundsError"] = "move target out of bounds";
|
|
23
|
+
WebdriverProtocolErrorCode["NoSuchAlertError"] = "no such alert";
|
|
24
|
+
WebdriverProtocolErrorCode["NoSuchCookieError"] = "no such cookie";
|
|
25
|
+
WebdriverProtocolErrorCode["NoSuchElementError"] = "no such element";
|
|
26
|
+
WebdriverProtocolErrorCode["NoSuchFrameError"] = "no such frame";
|
|
27
|
+
WebdriverProtocolErrorCode["NoSuchShadowRootError"] = "no such shadow root";
|
|
28
|
+
WebdriverProtocolErrorCode["NoSuchWindowError"] = "no such window";
|
|
29
|
+
WebdriverProtocolErrorCode["ScriptTimeoutError"] = "script timeout";
|
|
30
|
+
WebdriverProtocolErrorCode["SessionNotCreatedError"] = "session not created";
|
|
31
|
+
WebdriverProtocolErrorCode["StaleElementReferenceError"] = "stale element reference";
|
|
32
|
+
WebdriverProtocolErrorCode["TimeoutError"] = "timeout";
|
|
33
|
+
WebdriverProtocolErrorCode["UnableToSetCookieError"] = "unable to set cookie";
|
|
34
|
+
WebdriverProtocolErrorCode["UnableToCaptureScreenError"] = "unable to capture screen";
|
|
35
|
+
WebdriverProtocolErrorCode["UnexpectedAlertOpenError"] = "unexpected alert open";
|
|
36
|
+
WebdriverProtocolErrorCode["UnknownCommandError"] = "unknown command";
|
|
37
|
+
WebdriverProtocolErrorCode["UnknownMethodError"] = "unknown method";
|
|
38
|
+
WebdriverProtocolErrorCode["UnsupportedOperationError"] = "unsupported operation";
|
|
39
|
+
})(WebdriverProtocolErrorCode = WebdriverProtocolErrorCode || (WebdriverProtocolErrorCode = {}));
|
|
40
|
+
//# sourceMappingURL=WebdriverProtocolErrorCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverProtocolErrorCode.js","sourceRoot":"","sources":["../../../src/screenplay/models/WebdriverProtocolErrorCode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,0BA+BX;AA/BD,WAAY,0BAA0B;IAClC,8DAAgC,CAAA;IAChC,8EAAgD,CAAA;IAChD,wFAA0D,CAAA;IAC1D,sFAAwD,CAAA;IACxD,kFAAoD,CAAA;IACpD,+EAAiD,CAAA;IACjD,uEAAyC,CAAA;IACzC,gFAAkD,CAAA;IAClD,6EAA+C,CAAA;IAC/C,gFAAkD,CAAA;IAClD,uEAAyC,CAAA;IACzC,uEAAyC,CAAA;IACzC,kEAAoC,CAAA;IACpC,sFAAwD,CAAA;IACxD,gEAAkC,CAAA;IAClC,kEAAoC,CAAA;IACpC,oEAAsC,CAAA;IACtC,gEAAkC,CAAA;IAClC,2EAA6C,CAAA;IAC7C,kEAAoC,CAAA;IACpC,mEAAqC,CAAA;IACrC,4EAA8C,CAAA;IAC9C,oFAAsD,CAAA;IACtD,sDAAwB,CAAA;IACxB,6EAA+C,CAAA;IAC/C,qFAAuD,CAAA;IACvD,gFAAkD,CAAA;IAClD,qEAAuC,CAAA;IACvC,mEAAqC,CAAA;IACrC,iFAAmD,CAAA;AACvD,CAAC,EA/BW,0BAA0B,GAA1B,0BAA0B,KAA1B,0BAA0B,QA+BrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Locator, PageElement, RootLocator, Selector } from '@serenity-js/web';
|
|
2
|
+
import type { Element } from 'webdriverio';
|
|
3
|
+
import { WebdriverIOErrorHandler } from '../WebdriverIOErrorHandler.js';
|
|
4
|
+
/**
|
|
5
|
+
* WebdriverIO-specific implementation of {@apilink Locator}.
|
|
6
|
+
*
|
|
7
|
+
* @group Models
|
|
8
|
+
*/
|
|
9
|
+
export declare class WebdriverIOLocator extends Locator<Element, string> {
|
|
10
|
+
private readonly errorHandler;
|
|
11
|
+
constructor(parent: RootLocator<Element>, selector: Selector, errorHandler: WebdriverIOErrorHandler);
|
|
12
|
+
protected nativeSelector(): string;
|
|
13
|
+
isPresent(): Promise<boolean>;
|
|
14
|
+
nativeElement(): Promise<Element>;
|
|
15
|
+
private resolveNativeElement;
|
|
16
|
+
allNativeElements(): Promise<Array<Element>>;
|
|
17
|
+
of(parent: WebdriverIOLocator): Locator<Element, string>;
|
|
18
|
+
locate(child: WebdriverIOLocator): Locator<Element, string>;
|
|
19
|
+
element(): PageElement<Element>;
|
|
20
|
+
allElements(): Promise<Array<PageElement<Element>>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=WebdriverIOLocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverIOLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/WebdriverIOLocator.ts"],"names":[],"mappings":"AACA,OAAO,EAAmE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAChJ,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IAKxD,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAF7B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAC5B,QAAQ,EAAE,QAAQ,EACD,YAAY,EAAE,uBAAuB;IAM1D,SAAS,CAAC,cAAc,IAAI,MAAM;IA4B5B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU7B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;YASzB,oBAAoB;IAgB5B,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAKlD,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IAIxD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IAI3D,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC;IAIzB,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;CAc5D"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { f, LogicError } from '@serenity-js/core';
|
|
2
|
+
import { ByCss, ByCssContainingText, ByDeepCss, ById, ByTagName, ByXPath, Locator } from '@serenity-js/web';
|
|
3
|
+
import { WebdriverIOPageElement } from '../WebdriverIOPageElement.js';
|
|
4
|
+
/**
|
|
5
|
+
* WebdriverIO-specific implementation of {@apilink Locator}.
|
|
6
|
+
*
|
|
7
|
+
* @group Models
|
|
8
|
+
*/
|
|
9
|
+
export class WebdriverIOLocator extends Locator {
|
|
10
|
+
constructor(parent, selector, errorHandler) {
|
|
11
|
+
super(parent, selector);
|
|
12
|
+
this.errorHandler = errorHandler;
|
|
13
|
+
}
|
|
14
|
+
// todo: refactor; replace with a map and some more generic lookup mechanism
|
|
15
|
+
nativeSelector() {
|
|
16
|
+
if (this.selector instanceof ByCss) {
|
|
17
|
+
return this.selector.value;
|
|
18
|
+
}
|
|
19
|
+
if (this.selector instanceof ByDeepCss) {
|
|
20
|
+
return `>>> ${this.selector.value}`;
|
|
21
|
+
}
|
|
22
|
+
if (this.selector instanceof ByCssContainingText) {
|
|
23
|
+
return `${this.selector.value}*=${this.selector.text}`;
|
|
24
|
+
}
|
|
25
|
+
if (this.selector instanceof ById) {
|
|
26
|
+
return `#${this.selector.value}`;
|
|
27
|
+
}
|
|
28
|
+
if (this.selector instanceof ByTagName) {
|
|
29
|
+
return `<${this.selector.value} />`;
|
|
30
|
+
}
|
|
31
|
+
if (this.selector instanceof ByXPath) {
|
|
32
|
+
return this.selector.value;
|
|
33
|
+
}
|
|
34
|
+
throw new LogicError(f `${this.selector} is not supported by ${this.constructor.name}`);
|
|
35
|
+
}
|
|
36
|
+
async isPresent() {
|
|
37
|
+
try {
|
|
38
|
+
const element = await this.resolveNativeElement();
|
|
39
|
+
return Boolean(element);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async nativeElement() {
|
|
46
|
+
try {
|
|
47
|
+
return await this.resolveNativeElement();
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return await this.errorHandler.executeIfHandled(error, () => this.resolveNativeElement());
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async resolveNativeElement() {
|
|
54
|
+
const parent = await this.parent.nativeElement();
|
|
55
|
+
if (parent.error) {
|
|
56
|
+
throw parent.error;
|
|
57
|
+
}
|
|
58
|
+
const element = await parent.$(this.nativeSelector());
|
|
59
|
+
if (element.error) {
|
|
60
|
+
throw element.error;
|
|
61
|
+
}
|
|
62
|
+
return element;
|
|
63
|
+
}
|
|
64
|
+
async allNativeElements() {
|
|
65
|
+
const parent = await this.parent.nativeElement();
|
|
66
|
+
return parent.$$(this.nativeSelector());
|
|
67
|
+
}
|
|
68
|
+
of(parent) {
|
|
69
|
+
return new WebdriverIOLocator(parent, this.selector, this.errorHandler);
|
|
70
|
+
}
|
|
71
|
+
locate(child) {
|
|
72
|
+
return new WebdriverIOLocator(this, child.selector, this.errorHandler);
|
|
73
|
+
}
|
|
74
|
+
element() {
|
|
75
|
+
return new WebdriverIOPageElement(this);
|
|
76
|
+
}
|
|
77
|
+
async allElements() {
|
|
78
|
+
const elements = await this.allNativeElements();
|
|
79
|
+
return elements.map(childElement => new WebdriverIOPageElement(new ExistingElementLocator(this.parent, this.selector, this.errorHandler, childElement)));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
class ExistingElementLocator extends WebdriverIOLocator {
|
|
86
|
+
constructor(parentRoot, selector, errorHandler, existingNativeElement) {
|
|
87
|
+
super(parentRoot, selector, errorHandler);
|
|
88
|
+
this.existingNativeElement = existingNativeElement;
|
|
89
|
+
}
|
|
90
|
+
async nativeElement() {
|
|
91
|
+
return this.existingNativeElement;
|
|
92
|
+
}
|
|
93
|
+
async allNativeElements() {
|
|
94
|
+
return [this.existingNativeElement];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=WebdriverIOLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverIOLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/WebdriverIOLocator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RootLocator } from '@serenity-js/web';
|
|
2
|
+
import type { Browser, Element } from 'webdriverio';
|
|
3
|
+
/**
|
|
4
|
+
* WebdriverIO-specific implementation of {@apilink RootLocator}.
|
|
5
|
+
*
|
|
6
|
+
* @group Models
|
|
7
|
+
*/
|
|
8
|
+
export declare class WebdriverIORootLocator extends RootLocator<Browser> {
|
|
9
|
+
private readonly browser;
|
|
10
|
+
constructor(browser: Browser);
|
|
11
|
+
isPresent(): Promise<boolean>;
|
|
12
|
+
nativeElement(): Promise<Pick<Browser, '$' | '$$'>>;
|
|
13
|
+
switchToFrame(frame: Element): Promise<void>;
|
|
14
|
+
switchToParentFrame(): Promise<void>;
|
|
15
|
+
switchToMainFrame(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=WebdriverIORootLocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverIORootLocator.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/WebdriverIORootLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,WAAW,CAAC,OAAO,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAIvC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;IAInD,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RootLocator } from '@serenity-js/web';
|
|
2
|
+
/**
|
|
3
|
+
* WebdriverIO-specific implementation of {@apilink RootLocator}.
|
|
4
|
+
*
|
|
5
|
+
* @group Models
|
|
6
|
+
*/
|
|
7
|
+
export class WebdriverIORootLocator extends RootLocator {
|
|
8
|
+
constructor(browser) {
|
|
9
|
+
super();
|
|
10
|
+
this.browser = browser;
|
|
11
|
+
}
|
|
12
|
+
async isPresent() {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
async nativeElement() {
|
|
16
|
+
return this.browser;
|
|
17
|
+
}
|
|
18
|
+
async switchToFrame(frame) {
|
|
19
|
+
await this.browser.switchToFrame(frame);
|
|
20
|
+
}
|
|
21
|
+
async switchToParentFrame() {
|
|
22
|
+
await this.browser.switchToParentFrame();
|
|
23
|
+
}
|
|
24
|
+
async switchToMainFrame() {
|
|
25
|
+
await this.browser.switchToFrame(null); // eslint-disable-line unicorn/no-null
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=WebdriverIORootLocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebdriverIORootLocator.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/WebdriverIORootLocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAoB;IAC5D,YAA6B,OAAgB;QACzC,KAAK,EAAE,CAAC;QADiB,YAAO,GAAP,OAAO,CAAS;IAE7C,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAc;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC;IAClF,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/screenplay/models/locators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TestRunnerAdapter } from '@serenity-js/core/lib/adapter';
|
|
2
|
-
import { ModuleLoader, Path } from '@serenity-js/core/lib/io';
|
|
3
|
-
import { WebdriverIOConfig } from '
|
|
1
|
+
import { TestRunnerAdapter } from '@serenity-js/core/lib/adapter/index.js';
|
|
2
|
+
import { ModuleLoader, Path } from '@serenity-js/core/lib/io/index.js';
|
|
3
|
+
import { WebdriverIOConfig } from '../config/index.js';
|
|
4
4
|
export declare class TestRunnerLoader {
|
|
5
5
|
private readonly loader;
|
|
6
6
|
private readonly cwd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestRunnerLoader.d.ts","sourceRoot":"","sources":["../../src/adapter/TestRunnerLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"TestRunnerLoader.d.ts","sourceRoot":"","sources":["../../src/adapter/TestRunnerLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAkC,YAAY,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAEvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQvD,qBAAa,gBAAgB;IAKrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBAGf,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM;IAMhC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB;IAiB9D,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;CAIvB"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TestRunnerLoader = void 0;
|
|
4
4
|
const core_1 = require("@serenity-js/core");
|
|
5
|
-
const
|
|
5
|
+
const index_js_1 = require("@serenity-js/core/lib/io/index.js");
|
|
6
6
|
class TestRunnerLoader {
|
|
7
7
|
constructor(loader, cwd, cid) {
|
|
8
8
|
this.loader = loader;
|
|
9
9
|
this.cwd = cwd;
|
|
10
10
|
this.cid = cid;
|
|
11
|
-
this.fileSystem = new
|
|
12
|
-
this.finder = new
|
|
11
|
+
this.fileSystem = new index_js_1.FileSystem(cwd);
|
|
12
|
+
this.finder = new index_js_1.FileFinder(cwd);
|
|
13
13
|
}
|
|
14
14
|
runnerAdapterFor(config) {
|
|
15
15
|
var _a, _b;
|
|
@@ -27,17 +27,17 @@ class TestRunnerLoader {
|
|
|
27
27
|
}
|
|
28
28
|
cucumberAdapter(cucumberOptions) {
|
|
29
29
|
var _a;
|
|
30
|
-
const { CucumberCLIAdapter, CucumberFormat, StandardOutput, TempFileOutput } = this.loader.require('@serenity-js/cucumber/lib/adapter');
|
|
30
|
+
const { CucumberCLIAdapter, CucumberFormat, StandardOutput, TempFileOutput } = this.loader.require('@serenity-js/cucumber/lib/adapter/index.js');
|
|
31
31
|
cucumberOptions === null || cucumberOptions === void 0 ? true : delete cucumberOptions.timeout; // todo: support setting a timeout via config?
|
|
32
32
|
cucumberOptions === null || cucumberOptions === void 0 ? true : delete cucumberOptions.parallel; // WebdriverIO handles that already
|
|
33
|
-
const cleanedCucumberOptions = new
|
|
33
|
+
const cleanedCucumberOptions = new index_js_1.Config(cucumberOptions)
|
|
34
34
|
.where('require', requires => this.finder.filesMatching(requires).map(p => p.value))
|
|
35
35
|
.where('format', values => [].concat(values).map(value => {
|
|
36
36
|
const format = new CucumberFormat(value);
|
|
37
37
|
if (format.output === '') {
|
|
38
38
|
return format.value;
|
|
39
39
|
}
|
|
40
|
-
const basename =
|
|
40
|
+
const basename = index_js_1.Path.from(format.output).basename();
|
|
41
41
|
const filenameParts = basename.split('.');
|
|
42
42
|
if (filenameParts[0] === basename) {
|
|
43
43
|
return `${format.formatter}:${format.output}.${this.cid}`;
|
|
@@ -52,11 +52,11 @@ class TestRunnerLoader {
|
|
|
52
52
|
return new CucumberCLIAdapter(cleanedCucumberOptions, this.loader, this.fileSystem, output);
|
|
53
53
|
}
|
|
54
54
|
jasmineAdapter(jasmineOptions) {
|
|
55
|
-
const { JasmineAdapter } = this.loader.require('@serenity-js/jasmine/lib/adapter');
|
|
55
|
+
const { JasmineAdapter } = this.loader.require('@serenity-js/jasmine/lib/adapter/index.js');
|
|
56
56
|
return new JasmineAdapter(jasmineOptions, this.loader);
|
|
57
57
|
}
|
|
58
58
|
mochaAdapter(mochaOptions) {
|
|
59
|
-
const { MochaAdapter } = this.loader.require('@serenity-js/mocha/lib/adapter');
|
|
59
|
+
const { MochaAdapter } = this.loader.require('@serenity-js/mocha/lib/adapter/index.js');
|
|
60
60
|
return new MochaAdapter(mochaOptions, this.loader);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestRunnerLoader.js","sourceRoot":"","sources":["../../src/adapter/TestRunnerLoader.ts"],"names":[],"mappings":";;;AAAA,4CAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"TestRunnerLoader.js","sourceRoot":"","sources":["../../src/adapter/TestRunnerLoader.ts"],"names":[],"mappings":";;;AAAA,4CAAuD;AAEvD,gEAAuG;AAUvG,MAAa,gBAAgB;IAIzB,YACqB,MAAoB,EACpB,GAAS,EACT,GAAW;QAFX,WAAM,GAAN,MAAM,CAAc;QACpB,QAAG,GAAH,GAAG,CAAM;QACT,QAAG,GAAH,GAAG,CAAQ;QAE5B,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAU,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAO,IAAI,qBAAU,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,gBAAgB,CAAC,MAAyB;;QACtC,QAAQ,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,MAAM,EAAE;YAC9B,KAAK,UAAU;gBACX,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;YAEtD,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,CAAC;YAEpD,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC,CAAC;YAEhD;gBACI,MAAM,IAAI,yBAAkB,CAAC,IAAK,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,MAAO,gFAAgF,CAAC,CAAC;SACpJ;IACL,CAAC;IAEO,eAAe,CAAC,eAAmC;;QACvD,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAE1I,eAAe,aAAf,eAAe,4BAAf,eAAe,CAAE,OAAO,CAAC,CAAG,8CAA8C;QAC1E,eAAe,aAAf,eAAe,4BAAf,eAAe,CAAE,QAAQ,CAAC,CAAE,mCAAmC;QAEtE,MAAM,sBAAsB,GAAG,IAAI,iBAAM,CAAC,eAAe,CAAC;aACrD,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACxD;aACA,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACtB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE;gBACtB,OAAO,MAAM,CAAC,KAAK,CAAC;aACvB;YAED,MAAM,QAAQ,GAAG,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE1C,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC/B,OAAO,GAAI,MAAM,CAAC,SAAU,IAAK,MAAM,CAAC,MAAO,IAAK,IAAI,CAAC,GAAI,EAAE,CAAC;aACnE;YAED,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAI,IAAI,CAAC,GAAI,EAAE,CAAC,CAAC;YAE7C,OAAO,GAAI,MAAM,CAAC,SAAU,IAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC;QACjG,CAAC,CAAC,CACL,CAAC,MAAM,EAAE,CAAC;QAEf,8DAA8D;QAC9D,MAAM,MAAM,GAAG,CAAA,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,MAAM,0CAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;YACnG,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;QAE3B,OAAO,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChG,CAAC;IAEO,cAAc,CAAC,cAAiC;QACpD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;QAC3F,OAAO,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEO,YAAY,CAAC,YAA+B;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAA;QACvF,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACJ;AA9ED,4CA8EC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { Serenity } from '@serenity-js/core';
|
|
3
|
-
import { ModuleLoader, Path } from '@serenity-js/core/lib/io';
|
|
3
|
+
import { ModuleLoader, Path } from '@serenity-js/core/lib/io/index.js';
|
|
4
4
|
import type { Capabilities } from '@wdio/types';
|
|
5
5
|
import type { EventEmitter } from 'events';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { WebdriverIOConfig } from '../config/index.js';
|
|
7
|
+
import { InitialisesReporters, ProvidesWriteStream } from './reporter/index.js';
|
|
8
8
|
export declare class WebdriverIOFrameworkAdapter {
|
|
9
9
|
private readonly serenity;
|
|
10
10
|
private readonly loader;
|
|
@@ -12,6 +12,7 @@ export declare class WebdriverIOFrameworkAdapter {
|
|
|
12
12
|
private readonly cid;
|
|
13
13
|
private readonly specs;
|
|
14
14
|
private readonly capabilities;
|
|
15
|
+
private readonly reporter;
|
|
15
16
|
private adapter;
|
|
16
17
|
private notifier;
|
|
17
18
|
constructor(serenity: Serenity, loader: ModuleLoader, cwd: Path, cid: string, webdriverIOConfig: WebdriverIOConfig, specs: string[], capabilities: Capabilities.RemoteCapability, reporter: EventEmitter & ProvidesWriteStream & InitialisesReporters);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebdriverIOFrameworkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/WebdriverIOFrameworkAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6C,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WebdriverIOFrameworkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapter/WebdriverIOFrameworkAdapter.ts"],"names":[],"mappings":";AAAA,OAAO,EAA6C,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAEH,oBAAoB,EAEpB,mBAAmB,EACtB,MAAM,qBAAqB,CAAC;AAK7B,qBAAa,2BAA2B;IAMhC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAEpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX7B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAsB;gBAGjB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM,EAC5B,iBAAiB,EAAE,iBAAiB,EACnB,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,YAAY,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,YAAY,GAAG,mBAAmB,GAAG,oBAAoB;IAqDlF,IAAI,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAqBlD,QAAQ,IAAI,OAAO;IAIb,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5B,OAAO,CAAC,aAAa;CASxB"}
|