@serenity-js/web 3.0.0-rc.9 → 3.0.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/CHANGELOG.md +329 -74
- package/README.md +8 -12
- package/lib/errors/BrowserWindowClosedError.d.ts +15 -0
- package/lib/errors/BrowserWindowClosedError.d.ts.map +1 -0
- package/lib/errors/BrowserWindowClosedError.js +21 -0
- package/lib/errors/BrowserWindowClosedError.js.map +1 -0
- package/lib/errors/CookieMissingError.d.ts +11 -0
- package/lib/errors/CookieMissingError.d.ts.map +1 -0
- package/lib/errors/CookieMissingError.js +10 -0
- package/lib/errors/CookieMissingError.js.map +1 -1
- package/lib/errors/ModalDialogObstructsScreenshotError.d.ts +15 -0
- package/lib/errors/ModalDialogObstructsScreenshotError.d.ts.map +1 -0
- package/lib/errors/ModalDialogObstructsScreenshotError.js +21 -0
- package/lib/errors/ModalDialogObstructsScreenshotError.js.map +1 -0
- package/lib/errors/index.d.ts +3 -0
- package/lib/errors/index.d.ts.map +1 -0
- package/lib/errors/index.js +7 -1
- package/lib/errors/index.js.map +1 -1
- package/lib/expectations/index.d.ts +1 -1
- package/lib/expectations/index.d.ts.map +1 -0
- package/lib/expectations/index.js +5 -2
- package/lib/expectations/index.js.map +1 -1
- package/lib/expectations/isActive.d.ts +14 -8
- package/lib/expectations/isActive.d.ts.map +1 -0
- package/lib/expectations/isActive.js +17 -11
- package/lib/expectations/isActive.js.map +1 -1
- package/lib/expectations/isClickable.d.ts +14 -13
- package/lib/expectations/isClickable.d.ts.map +1 -0
- package/lib/expectations/isClickable.js +15 -17
- package/lib/expectations/isClickable.js.map +1 -1
- package/lib/expectations/isEnabled.d.ts +14 -7
- package/lib/expectations/isEnabled.d.ts.map +1 -0
- package/lib/expectations/isEnabled.js +17 -9
- package/lib/expectations/isEnabled.js.map +1 -1
- package/lib/expectations/isSelected.d.ts +14 -7
- package/lib/expectations/isSelected.d.ts.map +1 -0
- package/lib/expectations/isSelected.js +15 -9
- package/lib/expectations/isSelected.js.map +1 -1
- package/lib/expectations/isVisible.d.ts +14 -7
- package/lib/expectations/isVisible.d.ts.map +1 -0
- package/lib/expectations/isVisible.js +17 -9
- package/lib/expectations/isVisible.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts +88 -45
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -0
- package/lib/screenplay/abilities/BrowseTheWeb.js +89 -19
- package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
- package/lib/screenplay/abilities/index.d.ts +1 -1
- package/lib/screenplay/abilities/index.d.ts.map +1 -0
- package/lib/screenplay/abilities/index.js +5 -2
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/index.d.ts +1 -0
- package/lib/screenplay/index.d.ts.map +1 -0
- package/lib/screenplay/index.js +5 -1
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/interactions/Clear.d.ts +50 -55
- package/lib/screenplay/interactions/Clear.d.ts.map +1 -0
- package/lib/screenplay/interactions/Clear.js +70 -63
- package/lib/screenplay/interactions/Clear.js.map +1 -1
- package/lib/screenplay/interactions/Click.d.ts +41 -50
- package/lib/screenplay/interactions/Click.d.ts.map +1 -0
- package/lib/screenplay/interactions/Click.js +45 -55
- package/lib/screenplay/interactions/Click.js.map +1 -1
- package/lib/screenplay/interactions/DoubleClick.d.ts +64 -67
- package/lib/screenplay/interactions/DoubleClick.d.ts.map +1 -0
- package/lib/screenplay/interactions/DoubleClick.js +68 -72
- package/lib/screenplay/interactions/DoubleClick.js.map +1 -1
- package/lib/screenplay/interactions/Enter.d.ts +42 -51
- package/lib/screenplay/interactions/Enter.d.ts.map +1 -0
- package/lib/screenplay/interactions/Enter.js +42 -52
- package/lib/screenplay/interactions/Enter.js.map +1 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts +144 -148
- package/lib/screenplay/interactions/ExecuteScript.d.ts.map +1 -0
- package/lib/screenplay/interactions/ExecuteScript.js +163 -185
- package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
- package/lib/screenplay/interactions/Hover.d.ts +40 -50
- package/lib/screenplay/interactions/Hover.d.ts.map +1 -0
- package/lib/screenplay/interactions/Hover.js +44 -55
- package/lib/screenplay/interactions/Hover.js.map +1 -1
- package/lib/screenplay/interactions/Navigate.d.ts +106 -113
- package/lib/screenplay/interactions/Navigate.d.ts.map +1 -0
- package/lib/screenplay/interactions/Navigate.js +124 -146
- package/lib/screenplay/interactions/Navigate.js.map +1 -1
- package/lib/screenplay/interactions/PageElementInteraction.d.ts +12 -28
- package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -0
- package/lib/screenplay/interactions/PageElementInteraction.js +12 -33
- package/lib/screenplay/interactions/PageElementInteraction.js.map +1 -1
- package/lib/screenplay/interactions/Press.d.ts +61 -55
- package/lib/screenplay/interactions/Press.d.ts.map +1 -0
- package/lib/screenplay/interactions/Press.js +83 -72
- package/lib/screenplay/interactions/Press.js.map +1 -1
- package/lib/screenplay/interactions/RightClick.d.ts +59 -65
- package/lib/screenplay/interactions/RightClick.d.ts.map +1 -0
- package/lib/screenplay/interactions/RightClick.js +63 -70
- package/lib/screenplay/interactions/RightClick.js.map +1 -1
- package/lib/screenplay/interactions/Scroll.d.ts +46 -64
- package/lib/screenplay/interactions/Scroll.d.ts.map +1 -0
- package/lib/screenplay/interactions/Scroll.js +49 -71
- package/lib/screenplay/interactions/Scroll.js.map +1 -1
- package/lib/screenplay/interactions/Select.d.ts +217 -193
- package/lib/screenplay/interactions/Select.d.ts.map +1 -0
- package/lib/screenplay/interactions/Select.js +218 -245
- package/lib/screenplay/interactions/Select.js.map +1 -1
- package/lib/screenplay/interactions/Switch.d.ts +105 -128
- package/lib/screenplay/interactions/Switch.d.ts.map +1 -0
- package/lib/screenplay/interactions/Switch.js +121 -172
- package/lib/screenplay/interactions/Switch.js.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.d.ts +28 -50
- package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -0
- package/lib/screenplay/interactions/TakeScreenshot.js +32 -57
- package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
- package/lib/screenplay/interactions/index.d.ts +2 -3
- package/lib/screenplay/interactions/index.d.ts.map +1 -0
- package/lib/screenplay/interactions/index.js +6 -4
- package/lib/screenplay/interactions/index.js.map +1 -1
- package/lib/screenplay/models/BrowserCapabilities.d.ts +24 -0
- package/lib/screenplay/models/BrowserCapabilities.d.ts.map +1 -0
- package/lib/screenplay/models/BrowserCapabilities.js.map +1 -0
- package/lib/screenplay/models/BrowsingSession.d.ts +69 -0
- package/lib/screenplay/models/BrowsingSession.d.ts.map +1 -0
- package/lib/screenplay/models/BrowsingSession.js +101 -0
- package/lib/screenplay/models/BrowsingSession.js.map +1 -0
- package/lib/screenplay/models/Cookie.d.ts +104 -64
- package/lib/screenplay/models/Cookie.d.ts.map +1 -0
- package/lib/screenplay/models/Cookie.js +110 -59
- package/lib/screenplay/models/Cookie.js.map +1 -1
- package/lib/screenplay/models/CookieData.d.ts +20 -58
- package/lib/screenplay/models/CookieData.d.ts.map +1 -0
- package/lib/{input → screenplay/models}/Key.d.ts +13 -9
- package/lib/screenplay/models/Key.d.ts.map +1 -0
- package/lib/{input → screenplay/models}/Key.js +16 -13
- package/lib/screenplay/models/Key.js.map +1 -0
- package/lib/screenplay/models/Locator.d.ts +29 -8
- package/lib/screenplay/models/Locator.d.ts.map +1 -0
- package/lib/screenplay/models/Locator.js +53 -7
- package/lib/screenplay/models/Locator.js.map +1 -1
- package/lib/screenplay/models/Page.d.ts +398 -36
- package/lib/screenplay/models/Page.d.ts.map +1 -0
- package/lib/screenplay/models/Page.js +209 -4
- package/lib/screenplay/models/Page.js.map +1 -1
- package/lib/screenplay/models/PageElement.d.ts +77 -5
- package/lib/screenplay/models/PageElement.d.ts.map +1 -0
- package/lib/screenplay/models/PageElement.js +29 -7
- package/lib/screenplay/models/PageElement.js.map +1 -1
- package/lib/screenplay/models/PageElements.d.ts +16 -3
- package/lib/screenplay/models/PageElements.d.ts.map +1 -0
- package/lib/screenplay/models/PageElements.js +21 -8
- package/lib/screenplay/models/PageElements.js.map +1 -1
- package/lib/screenplay/models/RootLocator.d.ts +25 -0
- package/lib/screenplay/models/RootLocator.d.ts.map +1 -0
- package/lib/screenplay/models/RootLocator.js +52 -0
- package/lib/screenplay/models/RootLocator.js.map +1 -0
- package/lib/screenplay/models/SelectOption.d.ts +25 -0
- package/lib/screenplay/models/SelectOption.d.ts.map +1 -0
- package/lib/screenplay/models/SelectOption.js +37 -0
- package/lib/screenplay/models/SelectOption.js.map +1 -0
- package/lib/screenplay/models/Switchable.d.ts +23 -0
- package/lib/screenplay/models/Switchable.d.ts.map +1 -0
- package/lib/screenplay/{interactions/WaitBuilder.js → models/Switchable.js} +1 -1
- package/lib/screenplay/models/Switchable.js.map +1 -0
- package/lib/screenplay/models/SwitchableOrigin.d.ts +18 -0
- package/lib/screenplay/models/SwitchableOrigin.d.ts.map +1 -0
- package/lib/screenplay/{interactions/EnterBuilder.js → models/SwitchableOrigin.js} +1 -1
- package/lib/screenplay/models/SwitchableOrigin.js.map +1 -0
- package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +15 -0
- package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/AbsentModalDialog.js +24 -0
- package/lib/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -0
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +17 -0
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +29 -0
- package/lib/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -0
- package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +17 -0
- package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/DismissedModalDialog.js +29 -0
- package/lib/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -0
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts +168 -0
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/ModalDialog.js +174 -0
- package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -0
- package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +38 -0
- package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/ModalDialogHandler.js +30 -0
- package/lib/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -0
- package/lib/screenplay/models/dialogs/index.d.ts +6 -0
- package/lib/screenplay/models/dialogs/index.d.ts.map +1 -0
- package/lib/screenplay/models/dialogs/index.js +22 -0
- package/lib/screenplay/models/dialogs/index.js.map +1 -0
- package/lib/screenplay/models/index.d.ts +9 -1
- package/lib/screenplay/models/index.d.ts.map +1 -0
- package/lib/screenplay/models/index.js +13 -2
- package/lib/screenplay/models/index.js.map +1 -1
- package/lib/screenplay/models/selectors/By.d.ts +38 -0
- package/lib/screenplay/models/selectors/By.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/By.js +43 -0
- package/lib/screenplay/models/selectors/By.js.map +1 -1
- package/lib/screenplay/models/selectors/ByCss.d.ts +8 -0
- package/lib/screenplay/models/selectors/ByCss.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ByCss.js +7 -0
- package/lib/screenplay/models/selectors/ByCss.js.map +1 -1
- package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +9 -0
- package/lib/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ByCssContainingText.js +8 -0
- package/lib/screenplay/models/selectors/ByCssContainingText.js.map +1 -1
- package/lib/screenplay/models/selectors/ByDeepCss.d.ts +14 -0
- package/lib/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ByDeepCss.js +20 -0
- package/lib/screenplay/models/selectors/ByDeepCss.js.map +1 -0
- package/lib/screenplay/models/selectors/ById.d.ts +8 -0
- package/lib/screenplay/models/selectors/ById.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ById.js +7 -0
- package/lib/screenplay/models/selectors/ById.js.map +1 -1
- package/lib/screenplay/models/selectors/ByTagName.d.ts +8 -0
- package/lib/screenplay/models/selectors/ByTagName.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ByTagName.js +7 -0
- package/lib/screenplay/models/selectors/ByTagName.js.map +1 -1
- package/lib/screenplay/models/selectors/ByXPath.d.ts +8 -0
- package/lib/screenplay/models/selectors/ByXPath.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/ByXPath.js +7 -0
- package/lib/screenplay/models/selectors/ByXPath.js.map +1 -1
- package/lib/screenplay/models/selectors/Selector.d.ts +6 -0
- package/lib/screenplay/models/selectors/Selector.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/Selector.js +6 -1
- package/lib/screenplay/models/selectors/Selector.js.map +1 -1
- package/lib/screenplay/models/selectors/index.d.ts +2 -0
- package/lib/screenplay/models/selectors/index.d.ts.map +1 -0
- package/lib/screenplay/models/selectors/index.js +6 -1
- package/lib/screenplay/models/selectors/index.js.map +1 -1
- package/lib/screenplay/questions/Attribute.d.ts +115 -67
- package/lib/screenplay/questions/Attribute.d.ts.map +1 -0
- package/lib/screenplay/questions/Attribute.js +128 -74
- package/lib/screenplay/questions/Attribute.js.map +1 -1
- package/lib/screenplay/questions/CssClasses.d.ts +124 -79
- package/lib/screenplay/questions/CssClasses.d.ts.map +1 -0
- package/lib/screenplay/questions/CssClasses.js +132 -83
- package/lib/screenplay/questions/CssClasses.js.map +1 -1
- package/lib/screenplay/questions/LastScriptExecution.d.ts +42 -6
- package/lib/screenplay/questions/LastScriptExecution.d.ts.map +1 -0
- package/lib/screenplay/questions/LastScriptExecution.js +45 -7
- package/lib/screenplay/questions/LastScriptExecution.js.map +1 -1
- package/lib/screenplay/questions/Selected.d.ts +202 -171
- package/lib/screenplay/questions/Selected.d.ts.map +1 -0
- package/lib/screenplay/questions/Selected.js +225 -186
- package/lib/screenplay/questions/Selected.js.map +1 -1
- package/lib/screenplay/questions/Text.d.ts +101 -82
- package/lib/screenplay/questions/Text.d.ts.map +1 -0
- package/lib/screenplay/questions/Text.js +143 -92
- package/lib/screenplay/questions/Text.js.map +1 -1
- package/lib/screenplay/questions/Value.d.ts +77 -44
- package/lib/screenplay/questions/Value.d.ts.map +1 -0
- package/lib/screenplay/questions/Value.js +84 -47
- package/lib/screenplay/questions/Value.js.map +1 -1
- package/lib/screenplay/questions/index.d.ts +1 -0
- package/lib/screenplay/questions/index.d.ts.map +1 -0
- package/lib/screenplay/questions/index.js +5 -1
- package/lib/screenplay/questions/index.js.map +1 -1
- package/lib/scripts/index.d.ts +2 -0
- package/lib/scripts/index.d.ts.map +1 -0
- package/lib/{input → scripts}/index.js +6 -2
- package/lib/scripts/index.js.map +1 -0
- package/lib/scripts/isVisible.d.ts +2 -0
- package/lib/scripts/isVisible.d.ts.map +1 -0
- package/lib/scripts/isVisible.js +96 -0
- package/lib/scripts/isVisible.js.map +1 -0
- package/lib/stage/crew/index.d.ts +1 -0
- package/lib/stage/crew/index.d.ts.map +1 -0
- package/lib/stage/crew/index.js +5 -1
- package/lib/stage/crew/index.js.map +1 -1
- package/lib/stage/crew/photographer/Photographer.d.ts +126 -39
- package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -0
- package/lib/stage/crew/photographer/Photographer.js +161 -42
- package/lib/stage/crew/photographer/Photographer.js.map +1 -1
- package/lib/stage/crew/photographer/index.d.ts +1 -0
- package/lib/stage/crew/photographer/index.d.ts.map +1 -0
- package/lib/stage/crew/photographer/index.js +5 -1
- package/lib/stage/crew/photographer/index.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +13 -12
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -0
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +22 -33
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +8 -8
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -0
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +7 -8
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +8 -7
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -0
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +7 -7
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +8 -8
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -0
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +7 -8
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/index.d.ts +1 -0
- package/lib/stage/crew/photographer/strategies/index.d.ts.map +1 -0
- package/lib/stage/crew/photographer/strategies/index.js +5 -1
- package/lib/stage/crew/photographer/strategies/index.js.map +1 -1
- package/lib/stage/index.d.ts +1 -0
- package/lib/stage/index.d.ts.map +1 -0
- package/lib/stage/index.js +5 -1
- package/lib/stage/index.js.map +1 -1
- package/package.json +20 -43
- package/src/errors/BrowserWindowClosedError.ts +17 -0
- package/src/errors/CookieMissingError.ts +10 -0
- package/src/errors/ModalDialogObstructsScreenshotError.ts +17 -0
- package/src/errors/index.ts +2 -0
- package/src/expectations/index.ts +0 -1
- package/src/expectations/isActive.ts +23 -12
- package/src/expectations/isClickable.ts +22 -21
- package/src/expectations/isEnabled.ts +23 -9
- package/src/expectations/isSelected.ts +20 -10
- package/src/expectations/isVisible.ts +23 -9
- package/src/index.ts +0 -1
- package/src/screenplay/abilities/BrowseTheWeb.ts +95 -87
- package/src/screenplay/abilities/index.ts +0 -1
- package/src/screenplay/interactions/Clear.ts +75 -63
- package/src/screenplay/interactions/Click.ts +43 -54
- package/src/screenplay/interactions/DoubleClick.ts +66 -71
- package/src/screenplay/interactions/Enter.ts +41 -53
- package/src/screenplay/interactions/ExecuteScript.ts +207 -220
- package/src/screenplay/interactions/Hover.ts +42 -54
- package/src/screenplay/interactions/Navigate.ts +129 -156
- package/src/screenplay/interactions/PageElementInteraction.ts +14 -34
- package/src/screenplay/interactions/Press.ts +78 -69
- package/src/screenplay/interactions/RightClick.ts +61 -69
- package/src/screenplay/interactions/Scroll.ts +48 -71
- package/src/screenplay/interactions/Select.ts +229 -269
- package/src/screenplay/interactions/Switch.ts +123 -179
- package/src/screenplay/interactions/TakeScreenshot.ts +31 -57
- package/src/screenplay/interactions/index.ts +1 -3
- package/src/screenplay/models/BrowserCapabilities.ts +26 -0
- package/src/screenplay/models/BrowsingSession.ts +115 -0
- package/src/screenplay/models/Cookie.ts +115 -73
- package/src/screenplay/models/CookieData.ts +20 -58
- package/src/{input → screenplay/models}/Key.ts +12 -9
- package/src/screenplay/models/Locator.ts +43 -9
- package/src/screenplay/models/Page.ts +438 -37
- package/src/screenplay/models/PageElement.ts +92 -12
- package/src/screenplay/models/PageElements.ts +23 -9
- package/src/screenplay/models/RootLocator.ts +30 -0
- package/src/screenplay/models/SelectOption.ts +38 -0
- package/src/screenplay/models/Switchable.ts +24 -0
- package/src/screenplay/models/SwitchableOrigin.ts +18 -0
- package/src/screenplay/models/dialogs/AbsentModalDialog.ts +22 -0
- package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +27 -0
- package/src/screenplay/models/dialogs/DismissedModalDialog.ts +27 -0
- package/src/screenplay/models/dialogs/ModalDialog.ts +200 -0
- package/src/screenplay/models/dialogs/ModalDialogHandler.ts +50 -0
- package/src/screenplay/models/dialogs/index.ts +5 -0
- package/src/screenplay/models/index.ts +8 -1
- package/src/screenplay/models/selectors/By.ts +45 -0
- package/src/screenplay/models/selectors/ByCss.ts +7 -0
- package/src/screenplay/models/selectors/ByCssContainingText.ts +8 -0
- package/src/screenplay/models/selectors/ByDeepCss.ts +15 -0
- package/src/screenplay/models/selectors/ById.ts +7 -0
- package/src/screenplay/models/selectors/ByTagName.ts +7 -0
- package/src/screenplay/models/selectors/ByXPath.ts +7 -0
- package/src/screenplay/models/selectors/Selector.ts +6 -1
- package/src/screenplay/models/selectors/index.ts +1 -0
- package/src/screenplay/questions/Attribute.ts +137 -76
- package/src/screenplay/questions/CssClasses.ts +135 -83
- package/src/screenplay/questions/LastScriptExecution.ts +45 -8
- package/src/screenplay/questions/Selected.ts +237 -191
- package/src/screenplay/questions/Text.ts +161 -96
- package/src/screenplay/questions/Value.ts +88 -48
- package/src/scripts/index.ts +1 -0
- package/src/scripts/isVisible.ts +113 -0
- package/src/stage/crew/photographer/Photographer.ts +142 -41
- package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +27 -42
- package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +7 -8
- package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +7 -7
- package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +7 -8
- package/tsconfig.build.json +14 -0
- package/lib/expectations/ElementExpectation.d.ts +0 -83
- package/lib/expectations/ElementExpectation.js +0 -102
- package/lib/expectations/ElementExpectation.js.map +0 -1
- package/lib/input/Key.js.map +0 -1
- package/lib/input/index.d.ts +0 -1
- package/lib/input/index.js.map +0 -1
- package/lib/screenplay/abilities/BrowserCapabilities.d.ts +0 -5
- package/lib/screenplay/abilities/BrowserCapabilities.js.map +0 -1
- package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -25
- package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
- package/lib/screenplay/interactions/PressBuilder.d.ts +0 -26
- package/lib/screenplay/interactions/PressBuilder.js +0 -3
- package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
- package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
- package/lib/screenplay/interactions/SelectBuilder.js +0 -3
- package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
- package/lib/screenplay/interactions/Wait.d.ts +0 -143
- package/lib/screenplay/interactions/Wait.js +0 -238
- package/lib/screenplay/interactions/Wait.js.map +0 -1
- package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -32
- package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
- package/lib/screenplay/models/ModalDialog.d.ts +0 -9
- package/lib/screenplay/models/ModalDialog.js +0 -14
- package/lib/screenplay/models/ModalDialog.js.map +0 -1
- package/lib/screenplay/questions/ElementQuestion.d.ts +0 -33
- package/lib/screenplay/questions/ElementQuestion.js +0 -53
- package/lib/screenplay/questions/ElementQuestion.js.map +0 -1
- package/src/expectations/ElementExpectation.ts +0 -108
- package/src/input/index.ts +0 -1
- package/src/screenplay/abilities/BrowserCapabilities.ts +0 -5
- package/src/screenplay/interactions/EnterBuilder.ts +0 -28
- package/src/screenplay/interactions/PressBuilder.ts +0 -29
- package/src/screenplay/interactions/SelectBuilder.ts +0 -36
- package/src/screenplay/interactions/Wait.ts +0 -260
- package/src/screenplay/interactions/WaitBuilder.ts +0 -34
- package/src/screenplay/models/ModalDialog.ts +0 -19
- package/src/screenplay/questions/ElementQuestion.ts +0 -58
- package/tsconfig.eslint.json +0 -10
- /package/lib/screenplay/{abilities → models}/BrowserCapabilities.js +0 -0
|
@@ -1,96 +1,197 @@
|
|
|
1
|
-
import { LogicError } from '@serenity-js/core';
|
|
1
|
+
import { ConfigurationError, LogicError } from '@serenity-js/core';
|
|
2
2
|
import { ActivityFinished, ActivityStarts, DomainEvent } from '@serenity-js/core/lib/events';
|
|
3
3
|
import { Stage, StageCrewMember } from '@serenity-js/core/lib/stage';
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as strategies from './strategies';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
10
|
-
* of the web browser that the {@link @serenity-js/core/lib/screenplay/actor~Actor} in the spotlight is using.
|
|
8
|
+
* The Photographer is a {@apilink StageCrewMember} who takes screenshots
|
|
9
|
+
* using the web browser associated with the {@apilink Actor} that is currently {@apilink actorInTheSpotlight|in the spotlight}.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
11
|
+
* ## Programmatically assigning the `Photographer` to the {@apilink Stage}
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { configure, ArtifactArchiver } from '@serenity-js/core'
|
|
15
|
+
* import { Photographer, TakePhotosOfFailures } from '@serenity-js/web'
|
|
16
|
+
*
|
|
17
|
+
* configure({
|
|
18
|
+
* crew: [
|
|
19
|
+
* ArtifactArchiver.storingArtifactsAt(process.cwd(), 'target/site/serenity'),
|
|
20
|
+
* Photographer.whoWill(TakePhotosOfFailures),
|
|
21
|
+
* ]
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ## Using `Photographer` with WebdriverIO
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
13
28
|
* // wdio.conf.ts
|
|
14
|
-
* import { ArtifactArchiver } from '@serenity-js/core'
|
|
15
|
-
* import { Photographer, TakePhotosOfFailures } from '@serenity-js/
|
|
29
|
+
* import { ArtifactArchiver } from '@serenity-js/core'
|
|
30
|
+
* import { Photographer, TakePhotosOfFailures } from '@serenity-js/web'
|
|
31
|
+
* import { WebdriverIOConfig } from '@serenity-js/webdriverio'
|
|
32
|
+
*
|
|
33
|
+
* export const config: WebdriverIOConfig= {
|
|
34
|
+
*
|
|
35
|
+
* // Tell WebdriverIO to use Serenity/JS framework
|
|
36
|
+
* framework: '@serenity-js/webdriverio',
|
|
37
|
+
*
|
|
38
|
+
* serenity: {
|
|
39
|
+
* // Configure Serenity/JS to use an appropriate test runner adapter
|
|
40
|
+
* runner: 'cucumber',
|
|
41
|
+
* // runner: 'mocha',
|
|
42
|
+
* // runner: 'jasmine',
|
|
43
|
+
*
|
|
44
|
+
* // register custom Actors class to configure your Serenity/JS actors
|
|
45
|
+
* actors: new Actors(),
|
|
16
46
|
*
|
|
17
|
-
*
|
|
47
|
+
* // Register StageCrewMembers we've imported at the top of this file
|
|
48
|
+
* crew: [
|
|
49
|
+
* ArtifactArchiver.storingArtifactsAt(process.cwd(), 'target/site/serenity'),
|
|
50
|
+
* Photographer.whoWill(TakePhotosOfFailures),
|
|
51
|
+
* ]
|
|
52
|
+
* },
|
|
18
53
|
*
|
|
19
|
-
*
|
|
54
|
+
* // ... rest of the config omitted for brevity
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ## Using `Photographer` with Playwright Test
|
|
59
|
+
*
|
|
60
|
+
* ```ts
|
|
61
|
+
* // playwright.config.ts
|
|
62
|
+
* import type { PlaywrightTestConfig } from '@serenity-js/playwright-test'
|
|
63
|
+
*
|
|
64
|
+
* const config: PlaywrightTestConfig = {
|
|
65
|
+
* use: {
|
|
20
66
|
* crew: [
|
|
21
|
-
*
|
|
67
|
+
* [ '@serenity-js/web:Photographer', { strategy: 'TakePhotosOfFailures' } ] // or 'TakePhotosOfInteractions'
|
|
68
|
+
* ],
|
|
69
|
+
* },
|
|
70
|
+
* };
|
|
71
|
+
* export default config;
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* #### Learn more
|
|
75
|
+
* - {@apilink SerenityOptions}
|
|
76
|
+
*
|
|
77
|
+
* ## Using `Photographer` with Protractor
|
|
78
|
+
*
|
|
79
|
+
* ```ts
|
|
80
|
+
* // protractor.conf.js
|
|
81
|
+
* const { ArtifactArchiver } = require('@serenity-js/core')
|
|
82
|
+
* const { Photographer, TakePhotosOfFailures } = require('@serenity-js/web')
|
|
83
|
+
*
|
|
84
|
+
* exports.config = {
|
|
85
|
+
*
|
|
86
|
+
* // Tell Protractor to use the Serenity/JS framework Protractor Adapter
|
|
87
|
+
* framework: 'custom',
|
|
88
|
+
* frameworkPath: require.resolve('@serenity-js/protractor/adapter'),
|
|
89
|
+
*
|
|
90
|
+
* serenity: {
|
|
91
|
+
* runner: 'jasmine',
|
|
92
|
+
* // runner: 'cucumber',
|
|
93
|
+
* // runner: 'mocha',
|
|
94
|
+
* crew: [
|
|
95
|
+
* ArtifactArchiver.storingArtifactsAt('./target/site/serenity'),
|
|
22
96
|
* Photographer.whoWill(TakePhotosOfFailures),
|
|
23
97
|
* ]
|
|
24
98
|
* },
|
|
25
99
|
*
|
|
26
100
|
* // ... rest of the config omitted for brevity
|
|
27
|
-
* }
|
|
101
|
+
* }
|
|
102
|
+
* ```
|
|
28
103
|
*
|
|
29
|
-
*
|
|
104
|
+
* ## Taking photos only upon failures only
|
|
30
105
|
*
|
|
31
|
-
*
|
|
106
|
+
* ```ts
|
|
107
|
+
* import { Photographer, TakePhotosOfFailures } from '@serenity-js/web'
|
|
32
108
|
*
|
|
33
109
|
* Photographer.whoWill(TakePhotosOfFailures)
|
|
110
|
+
* ```
|
|
34
111
|
*
|
|
35
|
-
*
|
|
112
|
+
* ## Taking photos of all the interactions
|
|
36
113
|
*
|
|
37
|
-
*
|
|
114
|
+
* ```ts
|
|
115
|
+
* import { Photographer, TakePhotosOfInteractions } from '@serenity-js/web'
|
|
38
116
|
*
|
|
39
117
|
* Photographer.whoWill(TakePhotosOfInteractions)
|
|
118
|
+
* ```
|
|
40
119
|
*
|
|
41
|
-
*
|
|
120
|
+
* ## Taking photos before and after all the interactions
|
|
42
121
|
*
|
|
43
|
-
*
|
|
122
|
+
* ```ts
|
|
123
|
+
* import { Photographer, TakePhotosBeforeAndAfterInteractions } from '@serenity-js/web'
|
|
44
124
|
*
|
|
45
125
|
* Photographer.whoWill(TakePhotosBeforeAndAfterInteractions)
|
|
126
|
+
* ```
|
|
127
|
+
*
|
|
128
|
+
* ## Learn more
|
|
129
|
+
* - {@apilink Stage}
|
|
130
|
+
* - {@apilink StageCrewMember}
|
|
131
|
+
* - {@apilink TakePhotosBeforeAndAfterInteractions}
|
|
132
|
+
* - {@apilink TakePhotosOfFailures}
|
|
133
|
+
* - {@apilink TakePhotosOfInteractions}
|
|
46
134
|
*
|
|
47
|
-
* @
|
|
48
|
-
* @see {@link TakePhotosBeforeAndAfterInteractions}
|
|
49
|
-
* @see {@link TakePhotosOfFailures}
|
|
50
|
-
* @see {@link TakePhotosOfInteractions}
|
|
135
|
+
* @group Stage
|
|
51
136
|
*/
|
|
52
137
|
export class Photographer implements StageCrewMember {
|
|
53
138
|
|
|
54
139
|
/**
|
|
55
|
-
* @
|
|
56
|
-
*
|
|
57
|
-
* as per the specified {@link PhotoTakingStrategy}.
|
|
140
|
+
* Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
|
|
141
|
+
* as per the specified {@apilink PhotoTakingStrategy}.
|
|
58
142
|
*
|
|
59
|
-
* @param
|
|
60
|
-
* @
|
|
143
|
+
* @param strategy
|
|
144
|
+
* A no-arg constructor function that instantiates a {@apilink PhotoTakingStrategy}
|
|
61
145
|
*/
|
|
62
|
-
static whoWill(strategy: new () => PhotoTakingStrategy): StageCrewMember {
|
|
146
|
+
static whoWill(strategy: new () => strategies.PhotoTakingStrategy): StageCrewMember {
|
|
63
147
|
return new Photographer(new strategy());
|
|
64
148
|
}
|
|
65
149
|
|
|
66
150
|
/**
|
|
67
|
-
* @
|
|
68
|
-
* @
|
|
151
|
+
* Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
|
|
152
|
+
* as per the specified {@apilink PhotoTakingStrategy}.
|
|
153
|
+
*
|
|
154
|
+
* @param config
|
|
69
155
|
*/
|
|
156
|
+
static fromJSON(config?: { strategy?: Omit<keyof typeof strategies, 'PhotoTakingStrategy'> }): StageCrewMember {
|
|
157
|
+
if (config && config.strategy) {
|
|
158
|
+
const availableStrategies = Object.keys(strategies).filter(strategy => strategy !== strategies.PhotoTakingStrategy.name) // not the abstract class
|
|
159
|
+
|
|
160
|
+
if (availableStrategies.includes(config.strategy as string)) {
|
|
161
|
+
return new Photographer(new strategies[config.strategy as string]());
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
throw new ConfigurationError(
|
|
165
|
+
`'${ config.strategy }' is not an available PhotoTakingStrategy. ` +
|
|
166
|
+
`Available strategies: ${ availableStrategies.join(', ') }.`
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return new Photographer(new strategies.TakePhotosOfFailures());
|
|
171
|
+
}
|
|
172
|
+
|
|
70
173
|
constructor(
|
|
71
|
-
private readonly photoTakingStrategy: PhotoTakingStrategy,
|
|
174
|
+
private readonly photoTakingStrategy: strategies.PhotoTakingStrategy,
|
|
72
175
|
private stage?: Stage,
|
|
73
176
|
) {
|
|
74
177
|
}
|
|
75
178
|
|
|
76
179
|
/**
|
|
77
|
-
* @
|
|
78
|
-
* Creates a new instance of this {@link StageCrewMember} and assigns it to a given {@link Stage}.
|
|
180
|
+
* Assigns this {@apilink StageCrewMember} to a given {@apilink Stage}.
|
|
79
181
|
*
|
|
80
|
-
* @param
|
|
81
|
-
*
|
|
182
|
+
* @param stage
|
|
183
|
+
* An instance of a {@apilink Stage} this {@apilink StageCrewMember} will be assigned to
|
|
82
184
|
*/
|
|
83
185
|
assignedTo(stage: Stage): StageCrewMember {
|
|
84
|
-
|
|
186
|
+
this.stage = stage;
|
|
187
|
+
return this;
|
|
85
188
|
}
|
|
86
189
|
|
|
87
190
|
/**
|
|
88
|
-
* @
|
|
89
|
-
*
|
|
90
|
-
* this {@link StageCrewMember} is assigned to.
|
|
191
|
+
* Handles {@apilink DomainEvent} objects emitted by the {@apilink Stage}
|
|
192
|
+
* this {@apilink StageCrewMember} is assigned to.
|
|
91
193
|
*
|
|
92
|
-
* @param
|
|
93
|
-
* @returns {void}
|
|
194
|
+
* @param event
|
|
94
195
|
*/
|
|
95
196
|
notifyOf(event: DomainEvent): void {
|
|
96
197
|
if (! this.stage) {
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Stage } from '@serenity-js/core';
|
|
2
|
-
import { ActivityFinished, ActivityRelatedArtifactGenerated, ActivityStarts, AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed, DomainEvent } from '@serenity-js/core/lib/events';
|
|
1
|
+
import { LogicError, Stage } from '@serenity-js/core';
|
|
2
|
+
import { ActivityFinished, ActivityRelatedArtifactGenerated, ActivityStarts, AsyncOperationAborted, AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed, DomainEvent } from '@serenity-js/core/lib/events';
|
|
3
3
|
import { CorrelationId, Description, Name, Photo } from '@serenity-js/core/lib/model';
|
|
4
4
|
|
|
5
5
|
import { BrowseTheWeb } from '../../../../screenplay';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* by the {@link @serenity-js/core/lib/screenplay/actor~Actor} in the spotlight
|
|
12
|
-
* under specific conditions.
|
|
8
|
+
* Configures the {@apilink Photographer} to take {@apilink Photo|photos}, a.k.a. screenshots,
|
|
9
|
+
* of the {@apilink Activity} performed by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
|
|
10
|
+
* when desired conditions are met.
|
|
13
11
|
*
|
|
14
|
-
* @
|
|
12
|
+
* @group Stage
|
|
15
13
|
*/
|
|
16
14
|
export abstract class PhotoTakingStrategy {
|
|
17
15
|
|
|
18
16
|
/**
|
|
19
|
-
* @
|
|
20
|
-
* Takes a photo of the web browser held by the {@link @serenity-js/core/lib/screenplay/actor~Actor} in the spotlight.
|
|
17
|
+
* Takes a photo of the web browser used by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
|
|
21
18
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
19
|
+
* #### Learn more
|
|
20
|
+
* - {@apilink ActivityStarts}
|
|
21
|
+
* - {@apilink ActivityFinished}
|
|
22
|
+
* - {@apilink Stage}
|
|
25
23
|
*
|
|
26
|
-
* @
|
|
24
|
+
* @param event
|
|
25
|
+
* @param stage
|
|
26
|
+
* The Stage that holds reference to the Actor in the spotlight
|
|
27
27
|
*/
|
|
28
28
|
async considerTakingPhoto(event: ActivityStarts | ActivityFinished, stage: Stage): Promise<void> {
|
|
29
29
|
if (! this.shouldTakeAPhotoOf(event)) {
|
|
@@ -44,28 +44,16 @@ export abstract class PhotoTakingStrategy {
|
|
|
44
44
|
nameSuffix = this.photoNameFor(event);
|
|
45
45
|
|
|
46
46
|
stage.announce(new AsyncOperationAttempted(
|
|
47
|
-
new
|
|
47
|
+
new Name(`Photographer:${ this.constructor.name }`),
|
|
48
|
+
new Description(`Taking screenshot of '${ nameSuffix }'...`),
|
|
48
49
|
id,
|
|
50
|
+
stage.currentTime(),
|
|
49
51
|
));
|
|
50
52
|
|
|
51
|
-
let dialogIsPresent: boolean;
|
|
52
|
-
|
|
53
|
-
try {
|
|
54
|
-
dialogIsPresent = await browseTheWeb.modalDialog().then(dialog => dialog.isPresent());
|
|
55
|
-
|
|
56
|
-
if (dialogIsPresent) {
|
|
57
|
-
return stage.announce(new AsyncOperationCompleted(
|
|
58
|
-
new Description(`[${ this.constructor.name }] Aborted taking screenshot of '${ nameSuffix }' because of a modal dialog obstructing the view`),
|
|
59
|
-
id,
|
|
60
|
-
));
|
|
61
|
-
}
|
|
62
|
-
} catch (error) {
|
|
63
|
-
return stage.announce(new AsyncOperationFailed(error, id));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
53
|
try {
|
|
67
54
|
const capabilities = await browseTheWeb.browserCapabilities();
|
|
68
|
-
const
|
|
55
|
+
const page = await browseTheWeb.currentPage();
|
|
56
|
+
const screenshot = await page.takeScreenshot();
|
|
69
57
|
|
|
70
58
|
const
|
|
71
59
|
context = [ capabilities.platformName, capabilities.browserName, capabilities.browserVersion ],
|
|
@@ -76,22 +64,24 @@ export abstract class PhotoTakingStrategy {
|
|
|
76
64
|
event.activityId,
|
|
77
65
|
photoName,
|
|
78
66
|
Photo.fromBase64(screenshot),
|
|
67
|
+
stage.currentTime(),
|
|
79
68
|
));
|
|
80
69
|
|
|
81
70
|
return stage.announce(new AsyncOperationCompleted(
|
|
82
|
-
new Description(`[${ this.constructor.name }] Took screenshot of '${ nameSuffix }' on ${ context }`),
|
|
83
71
|
id,
|
|
72
|
+
stage.currentTime(),
|
|
84
73
|
));
|
|
85
74
|
}
|
|
86
75
|
catch (error) {
|
|
87
76
|
if (this.shouldIgnore(error)) {
|
|
88
|
-
stage.announce(new
|
|
89
|
-
new Description(`
|
|
77
|
+
stage.announce(new AsyncOperationAborted(
|
|
78
|
+
new Description(`Aborted taking screenshot of '${ nameSuffix }' because of ${ error.constructor && error.constructor.name }`),
|
|
90
79
|
id,
|
|
80
|
+
stage.currentTime(),
|
|
91
81
|
));
|
|
92
82
|
}
|
|
93
83
|
else {
|
|
94
|
-
stage.announce(new AsyncOperationFailed(error, id));
|
|
84
|
+
stage.announce(new AsyncOperationFailed(error, id, stage.currentTime()));
|
|
95
85
|
}
|
|
96
86
|
}
|
|
97
87
|
}
|
|
@@ -105,12 +95,7 @@ export abstract class PhotoTakingStrategy {
|
|
|
105
95
|
}
|
|
106
96
|
|
|
107
97
|
private shouldIgnore(error: Error) {
|
|
108
|
-
return error
|
|
109
|
-
error.name ===
|
|
110
|
-
(error.name === 'ProtocolError' && error.message.includes('Target closed'))
|
|
111
|
-
);
|
|
112
|
-
// todo: add SauceLabs
|
|
113
|
-
// [0-0] 2021-12-02T01:32:36.402Z ERROR webdriver: Request failed with status 404 due to no such window: no such window: target window already closed
|
|
114
|
-
// [0-0] from unknown error: web view not found
|
|
98
|
+
return error instanceof LogicError
|
|
99
|
+
|| (error.name && error.name === LogicError.name);
|
|
115
100
|
}
|
|
116
101
|
}
|
|
@@ -3,16 +3,15 @@ import { DomainEvent, InteractionFinished, InteractionStarts } from '@serenity-j
|
|
|
3
3
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* @
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* by the {@link @serenity-js/core/lib/screenplay/actor~Actor} in the spotlight.
|
|
6
|
+
* Configures the {@apilink Photographer} to take photos (a.k.a. screenshots) **both before and after**
|
|
7
|
+
* every single {@apilink Interaction} performed
|
|
8
|
+
* by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* **Please note** that this strategy will result in _a lot_ of screenshots being taken,
|
|
11
|
+
* which will seriously affect the performance of your tests.
|
|
12
|
+
* For this reason, it's best to use it only for debugging purposes.
|
|
14
13
|
*
|
|
15
|
-
* @
|
|
14
|
+
* @group Stage
|
|
16
15
|
*/
|
|
17
16
|
export class TakePhotosBeforeAndAfterInteractions extends PhotoTakingStrategy {
|
|
18
17
|
protected shouldTakeAPhotoOf(event: DomainEvent): boolean {
|
|
@@ -4,15 +4,15 @@ import { ImplementationPending } from '@serenity-js/core/lib/model';
|
|
|
4
4
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* @
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
|
|
8
|
+
* when then {@apilink Interaction} performed
|
|
9
|
+
* by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
|
|
10
|
+
* results in an error.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* This strategy works best when you are interested in the screenshots only when
|
|
13
|
+
* a scenario fails.
|
|
14
14
|
*
|
|
15
|
-
* @
|
|
15
|
+
* @group Stage
|
|
16
16
|
*/
|
|
17
17
|
export class TakePhotosOfFailures extends PhotoTakingStrategy {
|
|
18
18
|
protected shouldTakeAPhotoOf(event: DomainEvent): boolean {
|
|
@@ -3,17 +3,16 @@ import { DomainEvent, InteractionFinished } from '@serenity-js/core/lib/events';
|
|
|
3
3
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* @
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* performs any {@link @serenity-js/core/lib/screenplay~Interaction}.
|
|
6
|
+
* Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
|
|
7
|
+
* when then {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
|
|
8
|
+
* performs any {@apilink Interaction}.
|
|
10
9
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* This strategy works best when you want the results of your automated tests
|
|
11
|
+
* to become comprehensive living documentation of your system.
|
|
13
12
|
*
|
|
14
|
-
*
|
|
13
|
+
* *Please note* that taking screenshots affects the performance of your tests.
|
|
15
14
|
*
|
|
16
|
-
* @
|
|
15
|
+
* @group Stage
|
|
17
16
|
*/
|
|
18
17
|
export class TakePhotosOfInteractions extends PhotoTakingStrategy {
|
|
19
18
|
protected shouldTakeAPhotoOf(event: DomainEvent): boolean {
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Expectation } from '@serenity-js/core';
|
|
2
|
-
import { PageElement } from '../screenplay';
|
|
3
|
-
/**
|
|
4
|
-
* @desc
|
|
5
|
-
* A convenience method to create a custom {@link PageElement}-related {@link @serenity-js/core/lib/screenplay/questions~Expectation}
|
|
6
|
-
*
|
|
7
|
-
* @example <caption>Defining an expectation</caption>
|
|
8
|
-
* import { Expectation } from '@serenity-js/core';
|
|
9
|
-
* import { ElementExpectation, PageElement } from '@serenity-js/web';
|
|
10
|
-
*
|
|
11
|
-
* export function isPresent(): Expectation<boolean, PageElement> {
|
|
12
|
-
* return ElementExpectation.forElementTo('become present', actual => actual.isPresent());
|
|
13
|
-
* }
|
|
14
|
-
*
|
|
15
|
-
* @example <caption>Using an expectation in an assertion</caption>
|
|
16
|
-
* import { Ensure } from '@serenity-js/assertions';
|
|
17
|
-
* import { actorCalled } from '@serenity-js/core';
|
|
18
|
-
* import { By, PageElement } from '@serenity-js/web';
|
|
19
|
-
*
|
|
20
|
-
* const submitButton = () =>
|
|
21
|
-
* PageElement.located(By.css('.submit')).describedAs('submit button');
|
|
22
|
-
*
|
|
23
|
-
* actorCalled('Izzy').attemptsTo(
|
|
24
|
-
* Ensure.that(submitButton(), isPresent())
|
|
25
|
-
* );
|
|
26
|
-
*
|
|
27
|
-
* @example <caption>Using an expectation in a synchronisation statement</caption>
|
|
28
|
-
* import { actorCalled, Duration } from '@serenity-js/core';
|
|
29
|
-
* import { By, PageElement, Wait } from '@serenity-js/web';
|
|
30
|
-
*
|
|
31
|
-
* const submitButton = () =>
|
|
32
|
-
* PageElement.located(By.css('.submit')).describedAs('submit button');
|
|
33
|
-
*
|
|
34
|
-
* actorCalled('Izzy').attemptsTo(
|
|
35
|
-
* Wait.upTo(Duration.ofSeconds(2)).until(submitButton(), isPresent())
|
|
36
|
-
* );
|
|
37
|
-
*
|
|
38
|
-
* @public
|
|
39
|
-
* @extends {@serenity-js/core/lib/screenplay/questions~Expectation}
|
|
40
|
-
*/
|
|
41
|
-
export declare class ElementExpectation extends Expectation<PageElement> {
|
|
42
|
-
private readonly fn;
|
|
43
|
-
/**
|
|
44
|
-
* @desc
|
|
45
|
-
* Creates an {@link @serenity-js/core/lib/screenplay/questions~Expectation}
|
|
46
|
-
*
|
|
47
|
-
* @example <caption>Defining an expectation</caption>
|
|
48
|
-
* import { Expectation } from '@serenity-js/core';
|
|
49
|
-
* import { ElementExpectation, PageElement } from '@serenity-js/web';
|
|
50
|
-
*
|
|
51
|
-
* export function isPresent(): Expectation<boolean, PageElement> {
|
|
52
|
-
* return ElementExpectation.forElementTo('become present', actual => actual.isPresent());
|
|
53
|
-
* }
|
|
54
|
-
*
|
|
55
|
-
* @param {string} description
|
|
56
|
-
* A description of the expectation.
|
|
57
|
-
* Please note that Serenity/JS will use it to describe your expectation in sentences like these:
|
|
58
|
-
* - `actor ensures that <something> does <description>`
|
|
59
|
-
* - `actor ensures that <something> does not <description>`
|
|
60
|
-
* - `actor waits until <something> does <description>`
|
|
61
|
-
* - `actor waits until <something> does not <description>`
|
|
62
|
-
*
|
|
63
|
-
* To work with the above templates, the description should be similar to
|
|
64
|
-
* - `become present`,
|
|
65
|
-
* - `become active`,
|
|
66
|
-
* - `equal X`,
|
|
67
|
-
* - `has value greater than Y`.
|
|
68
|
-
*
|
|
69
|
-
* Descriptions like "is present", "is active", "equals X", "is greater than Y" WILL NOT work well.
|
|
70
|
-
*
|
|
71
|
-
* @param {function(actual: PageElement): Promise<boolean>} fn
|
|
72
|
-
* An asynchronous callback function that receives a {@link PageElement} and returns a {@link Promise}
|
|
73
|
-
* that should resolve to `true` when the expectation is met, and `false` otherwise.
|
|
74
|
-
*
|
|
75
|
-
* @returns {ElementExpectation<any, PageElement>}
|
|
76
|
-
*/
|
|
77
|
-
static forElementTo(description: string, fn: (actual: PageElement) => Promise<boolean>): Expectation<PageElement>;
|
|
78
|
-
/**
|
|
79
|
-
* @param {string} description
|
|
80
|
-
* @param {function(actual: PageElement): Promise<boolean>} fn
|
|
81
|
-
*/
|
|
82
|
-
constructor(description: string, fn: (actual: PageElement) => Promise<boolean>);
|
|
83
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ElementExpectation = void 0;
|
|
4
|
-
const core_1 = require("@serenity-js/core");
|
|
5
|
-
/**
|
|
6
|
-
* @desc
|
|
7
|
-
* A convenience method to create a custom {@link PageElement}-related {@link @serenity-js/core/lib/screenplay/questions~Expectation}
|
|
8
|
-
*
|
|
9
|
-
* @example <caption>Defining an expectation</caption>
|
|
10
|
-
* import { Expectation } from '@serenity-js/core';
|
|
11
|
-
* import { ElementExpectation, PageElement } from '@serenity-js/web';
|
|
12
|
-
*
|
|
13
|
-
* export function isPresent(): Expectation<boolean, PageElement> {
|
|
14
|
-
* return ElementExpectation.forElementTo('become present', actual => actual.isPresent());
|
|
15
|
-
* }
|
|
16
|
-
*
|
|
17
|
-
* @example <caption>Using an expectation in an assertion</caption>
|
|
18
|
-
* import { Ensure } from '@serenity-js/assertions';
|
|
19
|
-
* import { actorCalled } from '@serenity-js/core';
|
|
20
|
-
* import { By, PageElement } from '@serenity-js/web';
|
|
21
|
-
*
|
|
22
|
-
* const submitButton = () =>
|
|
23
|
-
* PageElement.located(By.css('.submit')).describedAs('submit button');
|
|
24
|
-
*
|
|
25
|
-
* actorCalled('Izzy').attemptsTo(
|
|
26
|
-
* Ensure.that(submitButton(), isPresent())
|
|
27
|
-
* );
|
|
28
|
-
*
|
|
29
|
-
* @example <caption>Using an expectation in a synchronisation statement</caption>
|
|
30
|
-
* import { actorCalled, Duration } from '@serenity-js/core';
|
|
31
|
-
* import { By, PageElement, Wait } from '@serenity-js/web';
|
|
32
|
-
*
|
|
33
|
-
* const submitButton = () =>
|
|
34
|
-
* PageElement.located(By.css('.submit')).describedAs('submit button');
|
|
35
|
-
*
|
|
36
|
-
* actorCalled('Izzy').attemptsTo(
|
|
37
|
-
* Wait.upTo(Duration.ofSeconds(2)).until(submitButton(), isPresent())
|
|
38
|
-
* );
|
|
39
|
-
*
|
|
40
|
-
* @public
|
|
41
|
-
* @extends {@serenity-js/core/lib/screenplay/questions~Expectation}
|
|
42
|
-
*/
|
|
43
|
-
class ElementExpectation extends core_1.Expectation {
|
|
44
|
-
/**
|
|
45
|
-
* @param {string} description
|
|
46
|
-
* @param {function(actual: PageElement): Promise<boolean>} fn
|
|
47
|
-
*/
|
|
48
|
-
constructor(description, fn) {
|
|
49
|
-
super(description, async (actor, actual) => {
|
|
50
|
-
const pageElement = await actor.answer(actual);
|
|
51
|
-
try {
|
|
52
|
-
const result = await fn(pageElement);
|
|
53
|
-
return result
|
|
54
|
-
? new core_1.ExpectationMet(this.toString(), undefined, pageElement)
|
|
55
|
-
: new core_1.ExpectationNotMet(this.toString(), undefined, pageElement);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
return new core_1.ExpectationNotMet(`${description} (${error.message})`, undefined, pageElement);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
this.fn = fn;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* @desc
|
|
65
|
-
* Creates an {@link @serenity-js/core/lib/screenplay/questions~Expectation}
|
|
66
|
-
*
|
|
67
|
-
* @example <caption>Defining an expectation</caption>
|
|
68
|
-
* import { Expectation } from '@serenity-js/core';
|
|
69
|
-
* import { ElementExpectation, PageElement } from '@serenity-js/web';
|
|
70
|
-
*
|
|
71
|
-
* export function isPresent(): Expectation<boolean, PageElement> {
|
|
72
|
-
* return ElementExpectation.forElementTo('become present', actual => actual.isPresent());
|
|
73
|
-
* }
|
|
74
|
-
*
|
|
75
|
-
* @param {string} description
|
|
76
|
-
* A description of the expectation.
|
|
77
|
-
* Please note that Serenity/JS will use it to describe your expectation in sentences like these:
|
|
78
|
-
* - `actor ensures that <something> does <description>`
|
|
79
|
-
* - `actor ensures that <something> does not <description>`
|
|
80
|
-
* - `actor waits until <something> does <description>`
|
|
81
|
-
* - `actor waits until <something> does not <description>`
|
|
82
|
-
*
|
|
83
|
-
* To work with the above templates, the description should be similar to
|
|
84
|
-
* - `become present`,
|
|
85
|
-
* - `become active`,
|
|
86
|
-
* - `equal X`,
|
|
87
|
-
* - `has value greater than Y`.
|
|
88
|
-
*
|
|
89
|
-
* Descriptions like "is present", "is active", "equals X", "is greater than Y" WILL NOT work well.
|
|
90
|
-
*
|
|
91
|
-
* @param {function(actual: PageElement): Promise<boolean>} fn
|
|
92
|
-
* An asynchronous callback function that receives a {@link PageElement} and returns a {@link Promise}
|
|
93
|
-
* that should resolve to `true` when the expectation is met, and `false` otherwise.
|
|
94
|
-
*
|
|
95
|
-
* @returns {ElementExpectation<any, PageElement>}
|
|
96
|
-
*/
|
|
97
|
-
static forElementTo(description, fn) {
|
|
98
|
-
return new ElementExpectation(description, fn);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.ElementExpectation = ElementExpectation;
|
|
102
|
-
//# sourceMappingURL=ElementExpectation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementExpectation.js","sourceRoot":"","sources":["../../src/expectations/ElementExpectation.ts"],"names":[],"mappings":";;;AAAA,4CAAiH;AAIjH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAa,kBAAmB,SAAQ,kBAAwB;IAwC5D;;;OAGG;IACH,YACI,WAAmB,EACF,EAA6C;QAE9D,KAAK,CACD,WAAW,EACX,KAAK,EAAE,KAAuB,EAAE,MAA+B,EAAE,EAAE;YAC/D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;gBAErC,OAAO,MAAM;oBACT,CAAC,CAAC,IAAI,qBAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC;oBAC7D,CAAC,CAAC,IAAI,wBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aACxE;YAAC,OAAM,KAAK,EAAE;gBACX,OAAO,IAAI,wBAAiB,CAAC,GAAI,WAAY,KAAM,KAAK,CAAC,OAAQ,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;aACjG;QACL,CAAC,CACJ,CAAC;QAjBe,OAAE,GAAF,EAAE,CAA2C;IAkBlE,CAAC;IA9DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,YAAY,CAAC,WAAmB,EAAE,EAA6C;QAClF,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;CA2BJ;AAjED,gDAiEC"}
|
package/lib/input/Key.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Key.js","sourceRoot":"","sources":["../../src/input/Key.ts"],"names":[],"mappings":"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"}
|
package/lib/input/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Key';
|
package/lib/input/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/input/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAsB"}
|