@serenity-js/web 3.4.2 → 3.6.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 +28 -0
- package/lib/expectations/isActive.d.ts +1 -1
- package/lib/expectations/isActive.d.ts.map +1 -1
- package/lib/expectations/isClickable.d.ts +1 -1
- package/lib/expectations/isClickable.d.ts.map +1 -1
- package/lib/expectations/isEnabled.d.ts +1 -1
- package/lib/expectations/isEnabled.d.ts.map +1 -1
- package/lib/expectations/isSelected.d.ts +1 -1
- package/lib/expectations/isSelected.d.ts.map +1 -1
- package/lib/expectations/isVisible.d.ts +1 -1
- package/lib/expectations/isVisible.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts +5 -5
- package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
- package/lib/screenplay/abilities/BrowseTheWeb.js +6 -0
- package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
- package/lib/screenplay/interactions/Clear.d.ts +2 -2
- package/lib/screenplay/interactions/Clear.d.ts.map +1 -1
- package/lib/screenplay/interactions/Clear.js.map +1 -1
- package/lib/screenplay/interactions/Click.d.ts +2 -2
- package/lib/screenplay/interactions/Click.d.ts.map +1 -1
- package/lib/screenplay/interactions/Click.js.map +1 -1
- package/lib/screenplay/interactions/DoubleClick.d.ts +2 -2
- package/lib/screenplay/interactions/DoubleClick.d.ts.map +1 -1
- package/lib/screenplay/interactions/DoubleClick.js.map +1 -1
- package/lib/screenplay/interactions/Enter.d.ts +2 -2
- package/lib/screenplay/interactions/Enter.d.ts.map +1 -1
- package/lib/screenplay/interactions/Enter.js.map +1 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts +2 -1
- package/lib/screenplay/interactions/ExecuteScript.d.ts.map +1 -1
- package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
- package/lib/screenplay/interactions/Hover.d.ts +2 -2
- package/lib/screenplay/interactions/Hover.d.ts.map +1 -1
- package/lib/screenplay/interactions/Hover.js.map +1 -1
- package/lib/screenplay/interactions/Navigate.d.ts +2 -1
- package/lib/screenplay/interactions/Navigate.d.ts.map +1 -1
- package/lib/screenplay/interactions/Navigate.js.map +1 -1
- package/lib/screenplay/interactions/PageElementInteraction.d.ts +4 -3
- package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -1
- package/lib/screenplay/interactions/PageElementInteraction.js.map +1 -1
- package/lib/screenplay/interactions/Press.d.ts +4 -2
- package/lib/screenplay/interactions/Press.d.ts.map +1 -1
- package/lib/screenplay/interactions/Press.js.map +1 -1
- package/lib/screenplay/interactions/RightClick.d.ts +2 -2
- package/lib/screenplay/interactions/RightClick.d.ts.map +1 -1
- package/lib/screenplay/interactions/RightClick.js.map +1 -1
- package/lib/screenplay/interactions/Scroll.d.ts +3 -2
- package/lib/screenplay/interactions/Scroll.d.ts.map +1 -1
- package/lib/screenplay/interactions/Scroll.js.map +1 -1
- package/lib/screenplay/interactions/Select.d.ts +2 -2
- package/lib/screenplay/interactions/Select.d.ts.map +1 -1
- package/lib/screenplay/interactions/Select.js.map +1 -1
- package/lib/screenplay/interactions/Switch.d.ts +3 -2
- package/lib/screenplay/interactions/Switch.d.ts.map +1 -1
- package/lib/screenplay/interactions/Switch.js.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.d.ts +2 -1
- package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -1
- package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
- package/lib/screenplay/models/BrowsingSession.d.ts +7 -2
- package/lib/screenplay/models/BrowsingSession.d.ts.map +1 -1
- package/lib/screenplay/models/BrowsingSession.js.map +1 -1
- package/lib/screenplay/models/Cookie.d.ts +3 -2
- package/lib/screenplay/models/Cookie.d.ts.map +1 -1
- package/lib/screenplay/models/Cookie.js.map +1 -1
- package/lib/screenplay/models/CookieData.d.ts +1 -1
- package/lib/screenplay/models/CookieData.d.ts.map +1 -1
- package/lib/screenplay/models/Key.js +1 -1
- package/lib/screenplay/models/Key.js.map +1 -1
- package/lib/screenplay/models/Locator.d.ts +5 -2
- package/lib/screenplay/models/Locator.d.ts.map +1 -1
- package/lib/screenplay/models/Locator.js +3 -0
- package/lib/screenplay/models/Locator.js.map +1 -1
- package/lib/screenplay/models/Page.d.ts +20 -14
- package/lib/screenplay/models/Page.d.ts.map +1 -1
- package/lib/screenplay/models/Page.js.map +1 -1
- package/lib/screenplay/models/PageElement.d.ts +7 -6
- package/lib/screenplay/models/PageElement.d.ts.map +1 -1
- package/lib/screenplay/models/PageElement.js +6 -0
- package/lib/screenplay/models/PageElement.js.map +1 -1
- package/lib/screenplay/models/PageElements.d.ts +5 -4
- package/lib/screenplay/models/PageElements.d.ts.map +1 -1
- package/lib/screenplay/models/PageElements.js.map +1 -1
- package/lib/screenplay/models/RootLocator.d.ts +1 -1
- package/lib/screenplay/models/RootLocator.d.ts.map +1 -1
- package/lib/screenplay/models/Switchable.d.ts +1 -1
- package/lib/screenplay/models/Switchable.d.ts.map +1 -1
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts +1 -1
- package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -1
- package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
- package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +1 -1
- package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -1
- package/lib/screenplay/models/selectors/By.d.ts +2 -1
- package/lib/screenplay/models/selectors/By.d.ts.map +1 -1
- package/lib/screenplay/models/selectors/By.js.map +1 -1
- package/lib/screenplay/models/selectors/Selector.d.ts +2 -1
- package/lib/screenplay/models/selectors/Selector.d.ts.map +1 -1
- package/lib/screenplay/models/selectors/Selector.js +2 -1
- package/lib/screenplay/models/selectors/Selector.js.map +1 -1
- package/lib/screenplay/questions/Attribute.d.ts +2 -1
- package/lib/screenplay/questions/Attribute.d.ts.map +1 -1
- package/lib/screenplay/questions/Attribute.js.map +1 -1
- package/lib/screenplay/questions/CssClasses.d.ts +2 -1
- package/lib/screenplay/questions/CssClasses.d.ts.map +1 -1
- package/lib/screenplay/questions/CssClasses.js.map +1 -1
- package/lib/screenplay/questions/LastScriptExecution.d.ts +1 -1
- package/lib/screenplay/questions/LastScriptExecution.d.ts.map +1 -1
- package/lib/screenplay/questions/LastScriptExecution.js.map +1 -1
- package/lib/screenplay/questions/Selected.d.ts +2 -2
- package/lib/screenplay/questions/Selected.d.ts.map +1 -1
- package/lib/screenplay/questions/Selected.js.map +1 -1
- package/lib/screenplay/questions/Text.d.ts +1 -1
- package/lib/screenplay/questions/Text.d.ts.map +1 -1
- package/lib/screenplay/questions/Text.js.map +1 -1
- package/lib/screenplay/questions/Value.d.ts +2 -1
- package/lib/screenplay/questions/Value.d.ts.map +1 -1
- package/lib/screenplay/questions/Value.js.map +1 -1
- package/lib/stage/crew/photographer/Photographer.d.ts +2 -2
- package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
- package/lib/stage/crew/photographer/Photographer.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +2 -2
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -1
- package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +2 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +2 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +2 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -1
- package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -1
- package/package.json +6 -6
- package/src/expectations/isActive.ts +1 -1
- package/src/expectations/isClickable.ts +1 -1
- package/src/expectations/isEnabled.ts +1 -1
- package/src/expectations/isSelected.ts +1 -1
- package/src/expectations/isVisible.ts +1 -1
- package/src/screenplay/abilities/BrowseTheWeb.ts +8 -6
- package/src/screenplay/interactions/Clear.ts +3 -2
- package/src/screenplay/interactions/Click.ts +3 -2
- package/src/screenplay/interactions/DoubleClick.ts +3 -2
- package/src/screenplay/interactions/Enter.ts +3 -2
- package/src/screenplay/interactions/ExecuteScript.ts +2 -1
- package/src/screenplay/interactions/Hover.ts +3 -2
- package/src/screenplay/interactions/Navigate.ts +2 -1
- package/src/screenplay/interactions/PageElementInteraction.ts +4 -3
- package/src/screenplay/interactions/Press.ts +4 -2
- package/src/screenplay/interactions/RightClick.ts +4 -3
- package/src/screenplay/interactions/Scroll.ts +3 -2
- package/src/screenplay/interactions/Select.ts +4 -2
- package/src/screenplay/interactions/Switch.ts +3 -2
- package/src/screenplay/interactions/TakeScreenshot.ts +2 -1
- package/src/screenplay/models/BrowsingSession.ts +8 -2
- package/src/screenplay/models/Cookie.ts +5 -3
- package/src/screenplay/models/CookieData.ts +1 -1
- package/src/screenplay/models/Locator.ts +5 -2
- package/src/screenplay/models/Page.ts +22 -14
- package/src/screenplay/models/PageElement.ts +15 -6
- package/src/screenplay/models/PageElements.ts +5 -4
- package/src/screenplay/models/RootLocator.ts +1 -1
- package/src/screenplay/models/Switchable.ts +1 -1
- package/src/screenplay/models/dialogs/ModalDialog.ts +2 -1
- package/src/screenplay/models/dialogs/ModalDialogHandler.ts +1 -1
- package/src/screenplay/models/selectors/By.ts +2 -1
- package/src/screenplay/models/selectors/Selector.ts +2 -1
- package/src/screenplay/questions/Attribute.ts +2 -1
- package/src/screenplay/questions/CssClasses.ts +2 -1
- package/src/screenplay/questions/LastScriptExecution.ts +2 -1
- package/src/screenplay/questions/Selected.ts +3 -2
- package/src/screenplay/questions/Text.ts +2 -1
- package/src/screenplay/questions/Value.ts +2 -1
- package/src/stage/crew/photographer/Photographer.ts +3 -2
- package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +4 -2
- package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +2 -1
- package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +2 -1
- package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +2 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { Answerable,
|
|
1
|
+
import type { Answerable, MetaQuestion, Optional, QuestionAdapter } from '@serenity-js/core';
|
|
2
|
+
import { d, Question } from '@serenity-js/core';
|
|
2
3
|
import { ensure, isDefined } from 'tiny-types';
|
|
3
4
|
|
|
4
5
|
import { BrowseTheWeb } from '../abilities';
|
|
5
|
-
import { Locator } from './Locator';
|
|
6
|
-
import { SelectOption } from './SelectOption';
|
|
7
|
-
import { Selector } from './selectors';
|
|
8
|
-
import { Switchable } from './Switchable';
|
|
9
|
-
import { SwitchableOrigin } from './SwitchableOrigin';
|
|
6
|
+
import type { Locator } from './Locator';
|
|
7
|
+
import type { SelectOption } from './SelectOption';
|
|
8
|
+
import type { Selector } from './selectors';
|
|
9
|
+
import type { Switchable } from './Switchable';
|
|
10
|
+
import type { SwitchableOrigin } from './SwitchableOrigin';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to identify
|
|
@@ -21,6 +22,14 @@ import { SwitchableOrigin } from './SwitchableOrigin';
|
|
|
21
22
|
*/
|
|
22
23
|
export abstract class PageElement<Native_Element_Type = any> implements Optional, Switchable {
|
|
23
24
|
|
|
25
|
+
static from<NET>(nativeElement: NET): QuestionAdapter<PageElement<NET>> & MetaQuestion<PageElement, PageElement> {
|
|
26
|
+
return Question.about(`native page element`, async actor => {
|
|
27
|
+
const currentPage = await BrowseTheWeb.as<BrowseTheWeb<NET>>(actor).currentPage();
|
|
28
|
+
|
|
29
|
+
return currentPage.createPageElement(nativeElement);
|
|
30
|
+
}) as QuestionAdapter<PageElement<NET>> & MetaQuestion<PageElement, PageElement>;
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
static located<NET>(selector: Answerable<Selector>): QuestionAdapter<PageElement<NET>> & MetaQuestion<PageElement, PageElement> {
|
|
25
34
|
return Question.about(d`page element located ${ selector }`, async actor => {
|
|
26
35
|
const bySelector = await actor.answer(selector);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Answerable,
|
|
1
|
+
import type { Answerable, MetaQuestion} from '@serenity-js/core';
|
|
2
|
+
import { List, Question } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { BrowseTheWeb } from '../abilities';
|
|
4
|
-
import { Locator } from './Locator';
|
|
5
|
-
import { PageElement } from './PageElement';
|
|
6
|
-
import { Selector } from './selectors';
|
|
5
|
+
import type { Locator } from './Locator';
|
|
6
|
+
import type { PageElement } from './PageElement';
|
|
7
|
+
import type { Selector } from './selectors';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to identify
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Answerable,
|
|
1
|
+
import type { Answerable, Interaction, Optional, Question, QuestionAdapter } from '@serenity-js/core';
|
|
2
|
+
import { d } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { Page } from '../Page';
|
|
4
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ensure, isDefined } from 'tiny-types';
|
|
2
2
|
|
|
3
3
|
import { AbsentModalDialog } from './AbsentModalDialog';
|
|
4
|
-
import { ModalDialog } from './ModalDialog';
|
|
4
|
+
import type { ModalDialog } from './ModalDialog';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Represent the strategy to use with any upcoming {@apilink ModalDialog} windows.
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { f } from '@serenity-js/core';
|
|
2
|
+
import { TinyType } from 'tiny-types';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Describes a selector you use to identify a {@apilink PageElement} or a group of {@apilink PageElements}.
|
|
5
6
|
*
|
|
6
7
|
* @group Models
|
|
7
8
|
*/
|
|
8
|
-
export abstract class Selector {
|
|
9
|
+
export abstract class Selector extends TinyType {
|
|
9
10
|
|
|
10
11
|
toString(): string {
|
|
11
12
|
const selectorDescription = this.constructor.name.replaceAll(/([a-z])([A-Z])/g, '$1 $2').toLowerCase();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Answerable, AnswersQuestions,
|
|
1
|
+
import type { Answerable, AnswersQuestions, MetaQuestion, QuestionAdapter, UsesAbilities } from '@serenity-js/core';
|
|
2
|
+
import { d, LogicError, Question } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../models';
|
|
4
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Answerable, AnswersQuestions,
|
|
1
|
+
import type { Answerable, AnswersQuestions, MetaQuestion, QuestionAdapter, UsesAbilities } from '@serenity-js/core';
|
|
2
|
+
import { d, Question } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../models';
|
|
4
5
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Answerable,
|
|
1
|
+
import type { Answerable, QuestionAdapter } from '@serenity-js/core';
|
|
2
|
+
import { d, Question } from '@serenity-js/core';
|
|
2
3
|
|
|
3
|
-
import { PageElement } from '../models';
|
|
4
|
+
import type { PageElement } from '../models';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Answerable, AnswersQuestions,
|
|
1
|
+
import type { Answerable, AnswersQuestions, MetaQuestion, QuestionAdapter, UsesAbilities } from '@serenity-js/core';
|
|
2
|
+
import { d, Question } from '@serenity-js/core';
|
|
2
3
|
import { asyncMap } from '@serenity-js/core/lib/io';
|
|
3
4
|
|
|
4
5
|
import { PageElement, PageElements } from '../models';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Answerable, AnswersQuestions,
|
|
1
|
+
import type { Answerable, AnswersQuestions, MetaQuestion, QuestionAdapter, UsesAbilities } from '@serenity-js/core';
|
|
2
|
+
import { d, Question } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../models';
|
|
4
5
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ConfigurationError, LogicError } from '@serenity-js/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { DomainEvent } from '@serenity-js/core/lib/events';
|
|
3
|
+
import { ActivityFinished, ActivityStarts } from '@serenity-js/core/lib/events';
|
|
4
|
+
import type { Stage, StageCrewMember } from '@serenity-js/core/lib/stage';
|
|
4
5
|
|
|
5
6
|
import * as strategies from './strategies';
|
|
6
7
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Stage } from '@serenity-js/core';
|
|
2
|
+
import { LogicError } from '@serenity-js/core';
|
|
3
|
+
import type { ActivityFinished, ActivityStarts, DomainEvent } from '@serenity-js/core/lib/events';
|
|
4
|
+
import { ActivityRelatedArtifactGenerated, AsyncOperationAborted, AsyncOperationAttempted, AsyncOperationCompleted, AsyncOperationFailed } from '@serenity-js/core/lib/events';
|
|
3
5
|
import { CorrelationId, Description, Name, Photo } from '@serenity-js/core/lib/model';
|
|
4
6
|
|
|
5
7
|
import { BrowseTheWeb } from '../../../../screenplay';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DomainEvent
|
|
1
|
+
import type { DomainEvent} from '@serenity-js/core/lib/events';
|
|
2
|
+
import { InteractionFinished, InteractionStarts } from '@serenity-js/core/lib/events';
|
|
2
3
|
|
|
3
4
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
4
5
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DomainEvent
|
|
1
|
+
import type { DomainEvent} from '@serenity-js/core/lib/events';
|
|
2
|
+
import { InteractionFinished } from '@serenity-js/core/lib/events';
|
|
2
3
|
import { ImplementationPending } from '@serenity-js/core/lib/model';
|
|
3
4
|
|
|
4
5
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DomainEvent
|
|
1
|
+
import type { DomainEvent} from '@serenity-js/core/lib/events';
|
|
2
|
+
import { InteractionFinished } from '@serenity-js/core/lib/events';
|
|
2
3
|
|
|
3
4
|
import { PhotoTakingStrategy } from './PhotoTakingStrategy';
|
|
4
5
|
|