@serenity-js/playwright 3.25.0 → 3.25.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.
Files changed (31) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/lib/PlaywrightOptions.d.ts +2 -2
  4. package/lib/screenplay/abilities/BrowseTheWebWithPlaywright.d.ts +24 -23
  5. package/lib/screenplay/abilities/BrowseTheWebWithPlaywright.d.ts.map +1 -1
  6. package/lib/screenplay/abilities/BrowseTheWebWithPlaywright.js +24 -23
  7. package/lib/screenplay/abilities/BrowseTheWebWithPlaywright.js.map +1 -1
  8. package/lib/screenplay/models/PlaywrightBrowsingSession.d.ts +2 -2
  9. package/lib/screenplay/models/PlaywrightBrowsingSession.js +1 -1
  10. package/lib/screenplay/models/PlaywrightCookie.d.ts +1 -1
  11. package/lib/screenplay/models/PlaywrightCookie.js +1 -1
  12. package/lib/screenplay/models/PlaywrightModalDialogHandler.d.ts +1 -1
  13. package/lib/screenplay/models/PlaywrightModalDialogHandler.js +1 -1
  14. package/lib/screenplay/models/PlaywrightPage.d.ts +1 -1
  15. package/lib/screenplay/models/PlaywrightPage.js +1 -1
  16. package/lib/screenplay/models/PlaywrightPageElement.d.ts +1 -1
  17. package/lib/screenplay/models/PlaywrightPageElement.js +1 -1
  18. package/lib/screenplay/models/locators/PlaywrightLocator.d.ts +1 -1
  19. package/lib/screenplay/models/locators/PlaywrightLocator.js +1 -1
  20. package/lib/screenplay/models/locators/PlaywrightRootLocator.d.ts +1 -1
  21. package/lib/screenplay/models/locators/PlaywrightRootLocator.js +1 -1
  22. package/package.json +4 -4
  23. package/src/PlaywrightOptions.ts +2 -2
  24. package/src/screenplay/abilities/BrowseTheWebWithPlaywright.ts +24 -23
  25. package/src/screenplay/models/PlaywrightBrowsingSession.ts +2 -2
  26. package/src/screenplay/models/PlaywrightCookie.ts +1 -1
  27. package/src/screenplay/models/PlaywrightModalDialogHandler.ts +1 -1
  28. package/src/screenplay/models/PlaywrightPage.ts +1 -1
  29. package/src/screenplay/models/PlaywrightPageElement.ts +1 -1
  30. package/src/screenplay/models/locators/PlaywrightLocator.ts +1 -1
  31. package/src/screenplay/models/locators/PlaywrightRootLocator.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.25.1](https://github.com/serenity-js/serenity-js/compare/v3.25.0...v3.25.1) (2024-07-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **core:** all the API docs now link to the online Serenity/JS API documentation ([f8f451d](https://github.com/serenity-js/serenity-js/commit/f8f451dffdb4caaa2e31a860f59d59470f4856ad))
12
+
13
+
14
+
15
+
16
+
6
17
  # [3.25.0](https://github.com/serenity-js/serenity-js/compare/v3.24.1...v3.25.0) (2024-07-03)
7
18
 
8
19
 
package/README.md CHANGED
@@ -17,7 +17,7 @@ of complex software systems faster, more collaborative and easier to scale.
17
17
  👋 Join the Serenity/JS Community!
18
18
  - Meet other Serenity/JS developers and maintainers on the [Serenity/JS Community chat channel](https://matrix.to/#/#serenity-js:gitter.im),
19
19
  - Find answers to your Serenity/JS questions on the [Serenity/JS Forum](https://github.com/orgs/serenity-js/discussions/categories/how-do-i),
20
- - Learn how to [contribute to Serenity/JS](https://serenity-js.org/contributing),
20
+ - Learn how to [contribute to Serenity/JS](https://serenity-js.org/community/contributing/),
21
21
  - Support the project and gain access to [Serenity/JS Playbooks](https://github.com/serenity-js/playbooks) by becoming a [Serenity/JS GitHub Sponsor](https://github.com/sponsors/serenity-js)!
22
22
 
23
23
  ## Serenity/JS Playwright
@@ -1,6 +1,6 @@
1
1
  import type * as playwright from 'playwright-core';
2
2
  /**
3
- * Playwright-specific options used to configure the ability to {@apilink BrowseTheWebWithPlaywright}
3
+ * Playwright-specific options used to configure the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
4
4
  *
5
5
  * ## Learn more
6
6
  * - [Playwright `Browser.newContext` options](https://playwright.dev/docs/api/class-browser#browser-new-context)
@@ -9,7 +9,7 @@ import type * as playwright from 'playwright-core';
9
9
  */
10
10
  export interface PlaywrightOptions extends playwright.BrowserContextOptions {
11
11
  /**
12
- * Changes the default maximum navigation time for the browser context used by {@apilink BrowseTheWebWithPlaywright}
12
+ * Changes the default maximum navigation time for the browser context used by [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
13
13
  *
14
14
  * #### Learn more
15
15
  * - [Playwright `browserContext.setDefaultNavigationTimeout(timeout)`](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout)
@@ -3,18 +3,18 @@ import { BrowseTheWeb } from '@serenity-js/web';
3
3
  import * as playwright from 'playwright-core';
4
4
  import type { PlaywrightOptions } from '../../PlaywrightOptions';
5
5
  /**
6
- * This implementation of the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
7
- * enables the {@apilink Actor} to interact with web front-ends using [Playwright](https://playwright.dev/).
6
+ * This implementation of the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
7
+ * enables the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to interact with web front-ends using [Playwright](https://playwright.dev/).
8
8
  *
9
9
  * ## Using Playwright to `BrowseTheWeb`
10
10
  *
11
- * In the example below, we configure the ability to {@apilink BrowseTheWebWithPlaywright} with a Playwright
12
- * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS {@apilink Actor|actors}
11
+ * In the example below, we configure the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/) with a Playwright
12
+ * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS [actors](https://serenity-js.org/api/core/class/Actor/)
13
13
  * can create a new [`BrowserContext`](https://playwright.dev/docs/api/class-browsercontext) and
14
14
  * instantiate Playwright [`page`s](https://playwright.dev/docs/api/class-page) as and when needed.
15
15
  *
16
16
  * This configuration allows Serenity/JS to control the process of launching and shutting down browser instances
17
- * and is useful when your test runner, e.g. [Cucumber.js](/api/cucumber), doesn't offer this functionality.
17
+ * and is useful when your test runner, e.g. [Cucumber.js](https://serenity-js.org/api/cucumber), doesn't offer this functionality.
18
18
  *
19
19
  * ```ts
20
20
  * import { actorCalled } from '@serenity-js/core'
@@ -40,17 +40,17 @@ import type { PlaywrightOptions } from '../../PlaywrightOptions';
40
40
  *
41
41
  * ## Using `BrowseTheWeb` with an existing Playwright `page`
42
42
  *
43
- * Test runners like [Playwright Test](/api/playwright-test/) manage Playwright browsers for you
43
+ * Test runners like [Playwright Test](https://serenity-js.org/api/playwright-test/) manage Playwright browsers for you
44
44
  * and offer a [`page`](https://playwright.dev/docs/api/class-page) instance you can
45
- * inject into the ability to {@apilink BrowseTheWebWithPlaywright}.
45
+ * inject into the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/).
46
46
  *
47
- * Note that [Serenity/JS Playwright Test module](/api/playwright-test/)
48
- * automatically configures all your {@apilink Actor|actors}
49
- * with an ability to {@apilink BrowseTheWebWithPlaywright},
50
- * so you don't need to do it by hand unless you want to override the {@apilink SerenityOptions|default configuration}.
47
+ * Note that [Serenity/JS Playwright Test module](https://serenity-js.org/api/playwright-test/)
48
+ * automatically configures all your [actors](https://serenity-js.org/api/core/class/Actor/)
49
+ * with an ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/),
50
+ * so you don't need to do it by hand unless you want to override the [default configuration](https://serenity-js.org/api/playwright-test/interface/SerenityOptions/).
51
51
  *
52
- * The example below demonstrates how to use the {@apilink BrowseTheWebWithPlaywright.usingPage} API and
53
- * override the default {@apilink Cast} of actors.
52
+ * The example below demonstrates how to use the [`BrowseTheWebWithPlaywright.usingPage`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/#usingPage) API and
53
+ * override the default [cast](https://serenity-js.org/api/core/class/Cast/) of actors.
54
54
  *
55
55
  * ```ts title="specs/example.spec.ts"
56
56
  * import { describe, it, test } from '@playwright/playwright-test'
@@ -89,12 +89,13 @@ import type { PlaywrightOptions } from '../../PlaywrightOptions';
89
89
  *
90
90
  * ## Configuring Playwright
91
91
  *
92
- * If you're using Serenity/JS with [Playwright Test](/handbook/test-runners/playwright-test/),
92
+ * If you're using Serenity/JS with [Playwright Test](https://serenity-js.org/handbook/test-runners/playwright-test/),
93
93
  * Serenity/JS will automatically pick up your configuration from the [`playwright.config.ts`](https://playwright.dev/docs/test-configuration) file.
94
94
  *
95
- * With other [test runners](/handbook/test-runners/), you can configure Playwright by:
95
+ * With other [test runners](https://serenity-js.org/handbook/test-runners/), you can configure Playwright by:
96
96
  * - providing the browser-level configuration when calling [`BrowserType.launch`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch),
97
- * - providing the browser context-level {@link PlaywrightOptions} when initialising the ability to `BrowseTheWebWithPlaywright`.
97
+ * - providing the browser context-level [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/)
98
+ * when initialising the ability to `BrowseTheWebWithPlaywright`.
98
99
  *
99
100
  * The code snippet below demonstrates how to configure the browser and some popular browser context options,
100
101
  * such as
@@ -134,16 +135,16 @@ import type { PlaywrightOptions } from '../../PlaywrightOptions';
134
135
  * )
135
136
  * ```
136
137
  *
137
- * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS {@apilink PlaywrightOptions}, such as:
138
+ * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/), such as:
138
139
  * - `defaultNavigationTimeout`, which changes the default maximum navigation timeout for the browser context,
139
140
  * - `defaultTimeout`, which changes the default maximum time for all Playwright methods accepting the `timeout` option.
140
141
  *
141
142
  * ## Learn more
142
143
  * - [Full list of Playwright `BrowserContextOptions`](https://playwright.dev/docs/api/class-browser#browser-new-context)
143
144
  * - [Playwright website](https://playwright.dev/)
144
- * - {@apilink BrowseTheWeb}
145
- * - {@apilink Ability}
146
- * - {@apilink Actor}
145
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
146
+ * - [`Ability`](https://serenity-js.org/api/core/class/Ability/)
147
+ * - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
147
148
  *
148
149
  * @group Abilities
149
150
  */
@@ -151,11 +152,11 @@ export declare class BrowseTheWebWithPlaywright extends BrowseTheWeb<playwright.
151
152
  static using(browser: playwright.Browser, options?: PlaywrightOptions): BrowseTheWebWithPlaywright;
152
153
  static usingPage(page: playwright.Page, options?: PlaywrightOptions): BrowseTheWebWithPlaywright;
153
154
  /**
154
- * Automatically closes any open {@apilink Page|Pages} when the {@apilink SceneFinishes}
155
+ * Automatically closes any open [pages](https://serenity-js.org/api/web/class/Page/) when the [SceneFinishes](https://serenity-js.org/api/core-events/class/SceneFinishes/)
155
156
  *
156
157
  * #### Learn more
157
- * - {@apilink PlaywrightBrowsingSession.closeAllPages}
158
- * - {@apilink Discardable}
158
+ * - [`PlaywrightBrowsingSession.closeAllPages`](https://serenity-js.org/api/playwright/class/PlaywrightBrowsingSession/#closeAllPages)
159
+ * - [`Discardable`](https://serenity-js.org/api/core/interface/Discardable/)
159
160
  */
160
161
  discard(): Promise<void>;
161
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseTheWebWithPlaywright.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/BrowseTheWebWithPlaywright.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgJG;AACH,qBAAa,0BAA2B,SAAQ,YAAY,CAAC,UAAU,CAAC,OAAO,CAAE,YAAW,WAAW;IAEnG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,0BAA0B;IAIlG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,0BAA0B;IAIhG;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
1
+ {"version":3,"file":"BrowseTheWebWithPlaywright.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/BrowseTheWebWithPlaywright.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiJG;AACH,qBAAa,0BAA2B,SAAQ,YAAY,CAAC,UAAU,CAAC,OAAO,CAAE,YAAW,WAAW;IAEnG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,0BAA0B;IAIlG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,0BAA0B;IAIhG;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
@@ -28,18 +28,18 @@ const web_1 = require("@serenity-js/web");
28
28
  const playwright = __importStar(require("playwright-core"));
29
29
  const models_1 = require("../models");
30
30
  /**
31
- * This implementation of the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
32
- * enables the {@apilink Actor} to interact with web front-ends using [Playwright](https://playwright.dev/).
31
+ * This implementation of the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
32
+ * enables the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to interact with web front-ends using [Playwright](https://playwright.dev/).
33
33
  *
34
34
  * ## Using Playwright to `BrowseTheWeb`
35
35
  *
36
- * In the example below, we configure the ability to {@apilink BrowseTheWebWithPlaywright} with a Playwright
37
- * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS {@apilink Actor|actors}
36
+ * In the example below, we configure the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/) with a Playwright
37
+ * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS [actors](https://serenity-js.org/api/core/class/Actor/)
38
38
  * can create a new [`BrowserContext`](https://playwright.dev/docs/api/class-browsercontext) and
39
39
  * instantiate Playwright [`page`s](https://playwright.dev/docs/api/class-page) as and when needed.
40
40
  *
41
41
  * This configuration allows Serenity/JS to control the process of launching and shutting down browser instances
42
- * and is useful when your test runner, e.g. [Cucumber.js](/api/cucumber), doesn't offer this functionality.
42
+ * and is useful when your test runner, e.g. [Cucumber.js](https://serenity-js.org/api/cucumber), doesn't offer this functionality.
43
43
  *
44
44
  * ```ts
45
45
  * import { actorCalled } from '@serenity-js/core'
@@ -65,17 +65,17 @@ const models_1 = require("../models");
65
65
  *
66
66
  * ## Using `BrowseTheWeb` with an existing Playwright `page`
67
67
  *
68
- * Test runners like [Playwright Test](/api/playwright-test/) manage Playwright browsers for you
68
+ * Test runners like [Playwright Test](https://serenity-js.org/api/playwright-test/) manage Playwright browsers for you
69
69
  * and offer a [`page`](https://playwright.dev/docs/api/class-page) instance you can
70
- * inject into the ability to {@apilink BrowseTheWebWithPlaywright}.
70
+ * inject into the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/).
71
71
  *
72
- * Note that [Serenity/JS Playwright Test module](/api/playwright-test/)
73
- * automatically configures all your {@apilink Actor|actors}
74
- * with an ability to {@apilink BrowseTheWebWithPlaywright},
75
- * so you don't need to do it by hand unless you want to override the {@apilink SerenityOptions|default configuration}.
72
+ * Note that [Serenity/JS Playwright Test module](https://serenity-js.org/api/playwright-test/)
73
+ * automatically configures all your [actors](https://serenity-js.org/api/core/class/Actor/)
74
+ * with an ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/),
75
+ * so you don't need to do it by hand unless you want to override the [default configuration](https://serenity-js.org/api/playwright-test/interface/SerenityOptions/).
76
76
  *
77
- * The example below demonstrates how to use the {@apilink BrowseTheWebWithPlaywright.usingPage} API and
78
- * override the default {@apilink Cast} of actors.
77
+ * The example below demonstrates how to use the [`BrowseTheWebWithPlaywright.usingPage`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/#usingPage) API and
78
+ * override the default [cast](https://serenity-js.org/api/core/class/Cast/) of actors.
79
79
  *
80
80
  * ```ts title="specs/example.spec.ts"
81
81
  * import { describe, it, test } from '@playwright/playwright-test'
@@ -114,12 +114,13 @@ const models_1 = require("../models");
114
114
  *
115
115
  * ## Configuring Playwright
116
116
  *
117
- * If you're using Serenity/JS with [Playwright Test](/handbook/test-runners/playwright-test/),
117
+ * If you're using Serenity/JS with [Playwright Test](https://serenity-js.org/handbook/test-runners/playwright-test/),
118
118
  * Serenity/JS will automatically pick up your configuration from the [`playwright.config.ts`](https://playwright.dev/docs/test-configuration) file.
119
119
  *
120
- * With other [test runners](/handbook/test-runners/), you can configure Playwright by:
120
+ * With other [test runners](https://serenity-js.org/handbook/test-runners/), you can configure Playwright by:
121
121
  * - providing the browser-level configuration when calling [`BrowserType.launch`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch),
122
- * - providing the browser context-level {@link PlaywrightOptions} when initialising the ability to `BrowseTheWebWithPlaywright`.
122
+ * - providing the browser context-level [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/)
123
+ * when initialising the ability to `BrowseTheWebWithPlaywright`.
123
124
  *
124
125
  * The code snippet below demonstrates how to configure the browser and some popular browser context options,
125
126
  * such as
@@ -159,16 +160,16 @@ const models_1 = require("../models");
159
160
  * )
160
161
  * ```
161
162
  *
162
- * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS {@apilink PlaywrightOptions}, such as:
163
+ * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/), such as:
163
164
  * - `defaultNavigationTimeout`, which changes the default maximum navigation timeout for the browser context,
164
165
  * - `defaultTimeout`, which changes the default maximum time for all Playwright methods accepting the `timeout` option.
165
166
  *
166
167
  * ## Learn more
167
168
  * - [Full list of Playwright `BrowserContextOptions`](https://playwright.dev/docs/api/class-browser#browser-new-context)
168
169
  * - [Playwright website](https://playwright.dev/)
169
- * - {@apilink BrowseTheWeb}
170
- * - {@apilink Ability}
171
- * - {@apilink Actor}
170
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
171
+ * - [`Ability`](https://serenity-js.org/api/core/class/Ability/)
172
+ * - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
172
173
  *
173
174
  * @group Abilities
174
175
  */
@@ -180,11 +181,11 @@ class BrowseTheWebWithPlaywright extends web_1.BrowseTheWeb {
180
181
  return new BrowseTheWebWithPlaywright(new models_1.PlaywrightBrowsingSessionWithPage(page, options, playwright.selectors));
181
182
  }
182
183
  /**
183
- * Automatically closes any open {@apilink Page|Pages} when the {@apilink SceneFinishes}
184
+ * Automatically closes any open [pages](https://serenity-js.org/api/web/class/Page/) when the [SceneFinishes](https://serenity-js.org/api/core-events/class/SceneFinishes/)
184
185
  *
185
186
  * #### Learn more
186
- * - {@apilink PlaywrightBrowsingSession.closeAllPages}
187
- * - {@apilink Discardable}
187
+ * - [`PlaywrightBrowsingSession.closeAllPages`](https://serenity-js.org/api/playwright/class/PlaywrightBrowsingSession/#closeAllPages)
188
+ * - [`Discardable`](https://serenity-js.org/api/core/interface/Discardable/)
188
189
  */
189
190
  async discard() {
190
191
  await this.session.closeAllPages();
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseTheWebWithPlaywright.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/BrowseTheWebWithPlaywright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAgD;AAChD,4DAA8C;AAG9C,sCAGmB;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgJG;AACH,MAAa,0BAA2B,SAAQ,kBAAgC;IAE5E,MAAM,CAAC,KAAK,CAAC,OAA2B,EAAE,OAA2B;QACjE,OAAO,IAAI,0BAA0B,CAAC,IAAI,6CAAoC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAqB,EAAE,OAA2B;QAC/D,OAAO,IAAI,0BAA0B,CAAC,IAAI,0CAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACtH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;CACJ;AApBD,gEAoBC"}
1
+ {"version":3,"file":"BrowseTheWebWithPlaywright.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/BrowseTheWebWithPlaywright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAgD;AAChD,4DAA8C;AAG9C,sCAGmB;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiJG;AACH,MAAa,0BAA2B,SAAQ,kBAAgC;IAE5E,MAAM,CAAC,KAAK,CAAC,OAA2B,EAAE,OAA2B;QACjE,OAAO,IAAI,0BAA0B,CAAC,IAAI,6CAAoC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAqB,EAAE,OAA2B;QAC/D,OAAO,IAAI,0BAA0B,CAAC,IAAI,0CAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACtH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;CACJ;AApBD,gEAoBC"}
@@ -5,7 +5,7 @@ import { type PlaywrightOptions } from '../../PlaywrightOptions';
5
5
  import { SerenitySelectorEngines } from '../../selector-engines';
6
6
  import { PlaywrightPage } from '../models';
7
7
  /**
8
- * Playwright-specific implementation of {@apilink BrowsingSession}.
8
+ * Playwright-specific implementation of [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/).
9
9
  *
10
10
  * @group Models
11
11
  */
@@ -16,7 +16,7 @@ export declare abstract class PlaywrightBrowsingSession extends BrowsingSession<
16
16
  private currentPlaywrightBrowserContext;
17
17
  protected constructor(browserContextOptions: PlaywrightOptions, selectors: playwright.Selectors);
18
18
  /**
19
- * Returns {@apilink BrowserCapabilities|basic meta-data} about the browser associated with this ability.
19
+ * Returns [basic meta-data](https://serenity-js.org/api/web/interface/BrowserCapabilities/) about the browser associated with this ability.
20
20
  *
21
21
  * **Please note** that since Playwright does not expose information about the operating system
22
22
  * the tests are running on, **Serenity/JS assumes that the tests are running locally**
@@ -6,7 +6,7 @@ const web_1 = require("@serenity-js/web");
6
6
  const selector_engines_1 = require("../../selector-engines");
7
7
  const models_1 = require("../models");
8
8
  /**
9
- * Playwright-specific implementation of {@apilink BrowsingSession}.
9
+ * Playwright-specific implementation of [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/).
10
10
  *
11
11
  * @group Models
12
12
  */
@@ -2,7 +2,7 @@ import type { CookieData } from '@serenity-js/web';
2
2
  import { Cookie } from '@serenity-js/web';
3
3
  import type * as playwright from 'playwright-core';
4
4
  /**
5
- * Playwright-specific implementation of {@apilink Cookie}.
5
+ * Playwright-specific implementation of [`Cookie`](https://serenity-js.org/api/web/class/Cookie/).
6
6
  *
7
7
  * @group Models
8
8
  */
@@ -5,7 +5,7 @@ const core_1 = require("@serenity-js/core");
5
5
  const web_1 = require("@serenity-js/web");
6
6
  const tiny_types_1 = require("tiny-types");
7
7
  /**
8
- * Playwright-specific implementation of {@apilink Cookie}.
8
+ * Playwright-specific implementation of [`Cookie`](https://serenity-js.org/api/web/class/Cookie/).
9
9
  *
10
10
  * @group Models
11
11
  */
@@ -1,7 +1,7 @@
1
1
  import { ModalDialogHandler } from '@serenity-js/web';
2
2
  import type * as playwright from 'playwright-core';
3
3
  /**
4
- * Playwright-specific implementation of {@apilink ModalDialogHandler}.
4
+ * Playwright-specific implementation of [`ModalDialogHandler`](https://serenity-js.org/api/web/class/ModalDialogHandler/).
5
5
  *
6
6
  * @group Models
7
7
  */
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlaywrightModalDialogHandler = void 0;
4
4
  const web_1 = require("@serenity-js/web");
5
5
  /**
6
- * Playwright-specific implementation of {@apilink ModalDialogHandler}.
6
+ * Playwright-specific implementation of [`ModalDialogHandler`](https://serenity-js.org/api/web/class/ModalDialogHandler/).
7
7
  *
8
8
  * @group Models
9
9
  */
@@ -8,7 +8,7 @@ import { URL } from 'url';
8
8
  import type { PlaywrightOptions } from '../../PlaywrightOptions';
9
9
  import type { PlaywrightBrowsingSession } from './PlaywrightBrowsingSession';
10
10
  /**
11
- * Playwright-specific implementation of {@apilink Page}.
11
+ * Playwright-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/).
12
12
  *
13
13
  * @group Models
14
14
  */
@@ -33,7 +33,7 @@ const locators_1 = require("./locators");
33
33
  const PlaywrightModalDialogHandler_1 = require("./PlaywrightModalDialogHandler");
34
34
  const PlaywrightPageElement_1 = require("./PlaywrightPageElement");
35
35
  /**
36
- * Playwright-specific implementation of {@apilink Page}.
36
+ * Playwright-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/).
37
37
  *
38
38
  * @group Models
39
39
  */
@@ -2,7 +2,7 @@ import type { SwitchableOrigin } from '@serenity-js/web';
2
2
  import { PageElement, SelectOption } from '@serenity-js/web';
3
3
  import type * as playwright from 'playwright-core';
4
4
  /**
5
- * Playwright-specific implementation of {@apilink PageElement}.
5
+ * Playwright-specific implementation of [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
6
6
  *
7
7
  * @group Models
8
8
  */
@@ -29,7 +29,7 @@ const web_1 = require("@serenity-js/web");
29
29
  const scripts = __importStar(require("@serenity-js/web/lib/scripts"));
30
30
  const tiny_types_1 = require("tiny-types");
31
31
  /**
32
- * Playwright-specific implementation of {@apilink PageElement}.
32
+ * Playwright-specific implementation of [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
33
33
  *
34
34
  * @group Models
35
35
  */
@@ -3,7 +3,7 @@ import { Locator } from '@serenity-js/web';
3
3
  import type * as playwright from 'playwright-core';
4
4
  import type { PlaywrightRootLocator } from './PlaywrightRootLocator';
5
5
  /**
6
- * Playwright-specific implementation of {@apilink Locator}.
6
+ * Playwright-specific implementation of [`Locator`](https://serenity-js.org/api/web/class/Locator/).
7
7
  *
8
8
  * @group Models
9
9
  */
@@ -7,7 +7,7 @@ const selector_engines_1 = require("../../../selector-engines");
7
7
  const promised_1 = require("../../promised");
8
8
  const PlaywrightPageElement_1 = require("../PlaywrightPageElement");
9
9
  /**
10
- * Playwright-specific implementation of {@apilink Locator}.
10
+ * Playwright-specific implementation of [`Locator`](https://serenity-js.org/api/web/class/Locator/).
11
11
  *
12
12
  * @group Models
13
13
  */
@@ -2,7 +2,7 @@ import { RootLocator } from '@serenity-js/web';
2
2
  import type * as playwright from 'playwright-core';
3
3
  import { type PageFunction } from 'playwright-core/types/structs';
4
4
  /**
5
- * Playwright-specific implementation of {@apilink RootLocator}.
5
+ * Playwright-specific implementation of [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/).
6
6
  *
7
7
  * @group Models
8
8
  */
@@ -5,7 +5,7 @@ const web_1 = require("@serenity-js/web");
5
5
  const tiny_types_1 = require("tiny-types");
6
6
  const promised_1 = require("../../promised");
7
7
  /**
8
- * Playwright-specific implementation of {@apilink RootLocator}.
8
+ * Playwright-specific implementation of [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/).
9
9
  *
10
10
  * @group Models
11
11
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serenity-js/playwright",
3
- "version": "3.25.0",
3
+ "version": "3.25.1",
4
4
  "description": "Serenity/JS Screenplay Pattern library for Playwright",
5
5
  "author": {
6
6
  "name": "Jan Molak",
@@ -44,8 +44,8 @@
44
44
  "node": "^16.13 || ^18.12 || ^20"
45
45
  },
46
46
  "dependencies": {
47
- "@serenity-js/core": "3.25.0",
48
- "@serenity-js/web": "3.25.0",
47
+ "@serenity-js/core": "3.25.1",
48
+ "@serenity-js/web": "3.25.1",
49
49
  "playwright-core": "1.45.1",
50
50
  "tiny-types": "1.22.0"
51
51
  },
@@ -59,5 +59,5 @@
59
59
  "ts-node": "10.9.2",
60
60
  "typescript": "5.2.2"
61
61
  },
62
- "gitHead": "22657b685b6002f75b2569db54f4bea31ab91d12"
62
+ "gitHead": "450b994115cf9f1a1547ef92ac9387e0c57821ce"
63
63
  }
@@ -1,7 +1,7 @@
1
1
  import type * as playwright from 'playwright-core';
2
2
 
3
3
  /**
4
- * Playwright-specific options used to configure the ability to {@apilink BrowseTheWebWithPlaywright}
4
+ * Playwright-specific options used to configure the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
5
5
  *
6
6
  * ## Learn more
7
7
  * - [Playwright `Browser.newContext` options](https://playwright.dev/docs/api/class-browser#browser-new-context)
@@ -11,7 +11,7 @@ import type * as playwright from 'playwright-core';
11
11
  export interface PlaywrightOptions extends playwright.BrowserContextOptions {
12
12
 
13
13
  /**
14
- * Changes the default maximum navigation time for the browser context used by {@apilink BrowseTheWebWithPlaywright}
14
+ * Changes the default maximum navigation time for the browser context used by [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/)
15
15
  *
16
16
  * #### Learn more
17
17
  * - [Playwright `browserContext.setDefaultNavigationTimeout(timeout)`](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout)
@@ -9,18 +9,18 @@ import {
9
9
  } from '../models';
10
10
 
11
11
  /**
12
- * This implementation of the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
13
- * enables the {@apilink Actor} to interact with web front-ends using [Playwright](https://playwright.dev/).
12
+ * This implementation of the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
13
+ * enables the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to interact with web front-ends using [Playwright](https://playwright.dev/).
14
14
  *
15
15
  * ## Using Playwright to `BrowseTheWeb`
16
16
  *
17
- * In the example below, we configure the ability to {@apilink BrowseTheWebWithPlaywright} with a Playwright
18
- * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS {@apilink Actor|actors}
17
+ * In the example below, we configure the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/) with a Playwright
18
+ * [`Browser`](https://playwright.dev/docs/api/class-browser) so that Serenity/JS [actors](https://serenity-js.org/api/core/class/Actor/)
19
19
  * can create a new [`BrowserContext`](https://playwright.dev/docs/api/class-browsercontext) and
20
20
  * instantiate Playwright [`page`s](https://playwright.dev/docs/api/class-page) as and when needed.
21
21
  *
22
22
  * This configuration allows Serenity/JS to control the process of launching and shutting down browser instances
23
- * and is useful when your test runner, e.g. [Cucumber.js](/api/cucumber), doesn't offer this functionality.
23
+ * and is useful when your test runner, e.g. [Cucumber.js](https://serenity-js.org/api/cucumber), doesn't offer this functionality.
24
24
  *
25
25
  * ```ts
26
26
  * import { actorCalled } from '@serenity-js/core'
@@ -46,17 +46,17 @@ import {
46
46
  *
47
47
  * ## Using `BrowseTheWeb` with an existing Playwright `page`
48
48
  *
49
- * Test runners like [Playwright Test](/api/playwright-test/) manage Playwright browsers for you
49
+ * Test runners like [Playwright Test](https://serenity-js.org/api/playwright-test/) manage Playwright browsers for you
50
50
  * and offer a [`page`](https://playwright.dev/docs/api/class-page) instance you can
51
- * inject into the ability to {@apilink BrowseTheWebWithPlaywright}.
51
+ * inject into the ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/).
52
52
  *
53
- * Note that [Serenity/JS Playwright Test module](/api/playwright-test/)
54
- * automatically configures all your {@apilink Actor|actors}
55
- * with an ability to {@apilink BrowseTheWebWithPlaywright},
56
- * so you don't need to do it by hand unless you want to override the {@apilink SerenityOptions|default configuration}.
53
+ * Note that [Serenity/JS Playwright Test module](https://serenity-js.org/api/playwright-test/)
54
+ * automatically configures all your [actors](https://serenity-js.org/api/core/class/Actor/)
55
+ * with an ability to [`BrowseTheWebWithPlaywright`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/),
56
+ * so you don't need to do it by hand unless you want to override the [default configuration](https://serenity-js.org/api/playwright-test/interface/SerenityOptions/).
57
57
  *
58
- * The example below demonstrates how to use the {@apilink BrowseTheWebWithPlaywright.usingPage} API and
59
- * override the default {@apilink Cast} of actors.
58
+ * The example below demonstrates how to use the [`BrowseTheWebWithPlaywright.usingPage`](https://serenity-js.org/api/playwright/class/BrowseTheWebWithPlaywright/#usingPage) API and
59
+ * override the default [cast](https://serenity-js.org/api/core/class/Cast/) of actors.
60
60
  *
61
61
  * ```ts title="specs/example.spec.ts"
62
62
  * import { describe, it, test } from '@playwright/playwright-test'
@@ -95,12 +95,13 @@ import {
95
95
  *
96
96
  * ## Configuring Playwright
97
97
  *
98
- * If you're using Serenity/JS with [Playwright Test](/handbook/test-runners/playwright-test/),
98
+ * If you're using Serenity/JS with [Playwright Test](https://serenity-js.org/handbook/test-runners/playwright-test/),
99
99
  * Serenity/JS will automatically pick up your configuration from the [`playwright.config.ts`](https://playwright.dev/docs/test-configuration) file.
100
100
  *
101
- * With other [test runners](/handbook/test-runners/), you can configure Playwright by:
101
+ * With other [test runners](https://serenity-js.org/handbook/test-runners/), you can configure Playwright by:
102
102
  * - providing the browser-level configuration when calling [`BrowserType.launch`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch),
103
- * - providing the browser context-level {@link PlaywrightOptions} when initialising the ability to `BrowseTheWebWithPlaywright`.
103
+ * - providing the browser context-level [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/)
104
+ * when initialising the ability to `BrowseTheWebWithPlaywright`.
104
105
  *
105
106
  * The code snippet below demonstrates how to configure the browser and some popular browser context options,
106
107
  * such as
@@ -140,16 +141,16 @@ import {
140
141
  * )
141
142
  * ```
142
143
  *
143
- * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS {@apilink PlaywrightOptions}, such as:
144
+ * Note that in addition to all the standard Playwright BrowserContextOptions, you can also provide several others defined in Serenity/JS [`PlaywrightOptions`](https://serenity-js.org/api/playwright/interface/PlaywrightOptions/), such as:
144
145
  * - `defaultNavigationTimeout`, which changes the default maximum navigation timeout for the browser context,
145
146
  * - `defaultTimeout`, which changes the default maximum time for all Playwright methods accepting the `timeout` option.
146
147
  *
147
148
  * ## Learn more
148
149
  * - [Full list of Playwright `BrowserContextOptions`](https://playwright.dev/docs/api/class-browser#browser-new-context)
149
150
  * - [Playwright website](https://playwright.dev/)
150
- * - {@apilink BrowseTheWeb}
151
- * - {@apilink Ability}
152
- * - {@apilink Actor}
151
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
152
+ * - [`Ability`](https://serenity-js.org/api/core/class/Ability/)
153
+ * - [`Actor`](https://serenity-js.org/api/core/class/Actor/)
153
154
  *
154
155
  * @group Abilities
155
156
  */
@@ -164,11 +165,11 @@ export class BrowseTheWebWithPlaywright extends BrowseTheWeb<playwright.Locator>
164
165
  }
165
166
 
166
167
  /**
167
- * Automatically closes any open {@apilink Page|Pages} when the {@apilink SceneFinishes}
168
+ * Automatically closes any open [pages](https://serenity-js.org/api/web/class/Page/) when the [SceneFinishes](https://serenity-js.org/api/core-events/class/SceneFinishes/)
168
169
  *
169
170
  * #### Learn more
170
- * - {@apilink PlaywrightBrowsingSession.closeAllPages}
171
- * - {@apilink Discardable}
171
+ * - [`PlaywrightBrowsingSession.closeAllPages`](https://serenity-js.org/api/playwright/class/PlaywrightBrowsingSession/#closeAllPages)
172
+ * - [`Discardable`](https://serenity-js.org/api/core/interface/Discardable/)
172
173
  */
173
174
  async discard(): Promise<void> {
174
175
  await this.session.closeAllPages();
@@ -8,7 +8,7 @@ import { SerenitySelectorEngines } from '../../selector-engines';
8
8
  import { PlaywrightCookie, PlaywrightPage } from '../models';
9
9
 
10
10
  /**
11
- * Playwright-specific implementation of {@apilink BrowsingSession}.
11
+ * Playwright-specific implementation of [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/).
12
12
  *
13
13
  * @group Models
14
14
  */
@@ -25,7 +25,7 @@ export abstract class PlaywrightBrowsingSession extends BrowsingSession<Playwrig
25
25
  }
26
26
 
27
27
  /**
28
- * Returns {@apilink BrowserCapabilities|basic meta-data} about the browser associated with this ability.
28
+ * Returns [basic meta-data](https://serenity-js.org/api/web/interface/BrowserCapabilities/) about the browser associated with this ability.
29
29
  *
30
30
  * **Please note** that since Playwright does not expose information about the operating system
31
31
  * the tests are running on, **Serenity/JS assumes that the tests are running locally**
@@ -5,7 +5,7 @@ import type * as playwright from 'playwright-core';
5
5
  import { ensure, isDefined } from 'tiny-types';
6
6
 
7
7
  /**
8
- * Playwright-specific implementation of {@apilink Cookie}.
8
+ * Playwright-specific implementation of [`Cookie`](https://serenity-js.org/api/web/class/Cookie/).
9
9
  *
10
10
  * @group Models
11
11
  */
@@ -3,7 +3,7 @@ import { AbsentModalDialog, AcceptedModalDialog, DismissedModalDialog, ModalDial
3
3
  import type * as playwright from 'playwright-core';
4
4
 
5
5
  /**
6
- * Playwright-specific implementation of {@apilink ModalDialogHandler}.
6
+ * Playwright-specific implementation of [`ModalDialogHandler`](https://serenity-js.org/api/web/class/ModalDialogHandler/).
7
7
  *
8
8
  * @group Models
9
9
  */
@@ -14,7 +14,7 @@ import { PlaywrightModalDialogHandler } from './PlaywrightModalDialogHandler';
14
14
  import { PlaywrightPageElement } from './PlaywrightPageElement';
15
15
 
16
16
  /**
17
- * Playwright-specific implementation of {@apilink Page}.
17
+ * Playwright-specific implementation of [`Page`](https://serenity-js.org/api/web/class/Page/).
18
18
  *
19
19
  * @group Models
20
20
  */
@@ -8,7 +8,7 @@ import { ensure, isDefined } from 'tiny-types';
8
8
  import type { PlaywrightLocator } from './locators';
9
9
 
10
10
  /**
11
- * Playwright-specific implementation of {@apilink PageElement}.
11
+ * Playwright-specific implementation of [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
12
12
  *
13
13
  * @group Models
14
14
  */
@@ -9,7 +9,7 @@ import { PlaywrightPageElement } from '../PlaywrightPageElement';
9
9
  import type { PlaywrightRootLocator } from './PlaywrightRootLocator';
10
10
 
11
11
  /**
12
- * Playwright-specific implementation of {@apilink Locator}.
12
+ * Playwright-specific implementation of [`Locator`](https://serenity-js.org/api/web/class/Locator/).
13
13
  *
14
14
  * @group Models
15
15
  */
@@ -6,7 +6,7 @@ import { ensure, isDefined } from 'tiny-types';
6
6
  import { promised } from '../../promised';
7
7
 
8
8
  /**
9
- * Playwright-specific implementation of {@apilink RootLocator}.
9
+ * Playwright-specific implementation of [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/).
10
10
  *
11
11
  * @group Models
12
12
  */