@serenity-js/web 3.0.0-rc.21 → 3.0.0-rc.24
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 +268 -0
- package/lib/expectations/isActive.js +3 -2
- package/lib/expectations/isActive.js.map +1 -1
- package/lib/expectations/isClickable.js +1 -2
- package/lib/expectations/isClickable.js.map +1 -1
- package/lib/expectations/isEnabled.js +3 -1
- package/lib/expectations/isEnabled.js.map +1 -1
- package/lib/expectations/isVisible.js +3 -1
- package/lib/expectations/isVisible.js.map +1 -1
- package/package.json +5 -5
- package/src/expectations/isActive.ts +5 -3
- package/src/expectations/isClickable.ts +0 -2
- package/src/expectations/isEnabled.ts +5 -1
- package/src/expectations/isVisible.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,274 @@
|
|
|
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.0.0-rc.24](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.23...v3.0.0-rc.24) (2022-07-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **web:** simplified the implementation of isClickable and isEnabled ([142eb86](https://github.com/serenity-js/serenity-js/commit/142eb861d95e08df7717e9fffc57153a62c88f66)), closes [#1255](https://github.com/serenity-js/serenity-js/issues/1255)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **web:** PageElement-releated expectations now also check if the element is present ([de4610c](https://github.com/serenity-js/serenity-js/commit/de4610c3199f7130fd56d2d6799a328cbd7540a2)), closes [#1255](https://github.com/serenity-js/serenity-js/issues/1255)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [3.0.0-rc.23](https://github.com/serenity-js/serenity-js/compare/v2.33.10...v3.0.0-rc.23) (2022-07-19)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **node:** support for Node 18 ([73212bc](https://github.com/serenity-js/serenity-js/commit/73212bc9deb1998d871b0720a6b437687b3ceddc)), closes [#1243](https://github.com/serenity-js/serenity-js/issues/1243)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
# [3.0.0-rc.20](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.19...v3.0.0-rc.20) (2022-07-11)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* **protractor:** isVisible check for ProtractorPageElement returns false for non-existent elements ([e64eee3](https://github.com/serenity-js/serenity-js/commit/e64eee377af32909f25e7c1d88f45a484abb1514)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
45
|
+
* **web:** improved JavaScript dialog-related error handling when taking screenshots ([3cd1149](https://github.com/serenity-js/serenity-js/commit/3cd1149ed74df95da17f1054cd4da93b095a4eed)), closes [puppeteer/puppeteer#2481](https://github.com/puppeteer/puppeteer/issues/2481) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
|
|
46
|
+
* **web:** renamed PagesContext to BrowsingSession to make the name more descriptive ([6b4e998](https://github.com/serenity-js/serenity-js/commit/6b4e9984d80f8f349f367e59bd0e615cd01703ec)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* **core:** interactions to Wait.for and Wait.until are now browser-independent ([d115142](https://github.com/serenity-js/serenity-js/commit/d1151427bed96c1ebd0d1dcc4159c6aeedc605de)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035) [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
52
|
+
* **playwright:** configurable navigation waitUntil timeout ([2458fcb](https://github.com/serenity-js/serenity-js/commit/2458fcb22c946da41ab59cb21ac0d4cc48012da7)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
53
|
+
* **playwright:** initial support for Playwright ([87e88a1](https://github.com/serenity-js/serenity-js/commit/87e88a16cdc06477ed25eb83f9597fd370fdc109)), closes [#493](https://github.com/serenity-js/serenity-js/issues/493) [#563](https://github.com/serenity-js/serenity-js/issues/563) [#911](https://github.com/serenity-js/serenity-js/issues/911)
|
|
54
|
+
* **playwright:** interaction to Select option(s) from a <select /> dropdown ([009041d](https://github.com/serenity-js/serenity-js/commit/009041d83e22ddf3fef14670e0e5fd6d11cdfc73)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
55
|
+
* **playwright:** support for isVisible, plus consistent visibility checks across the board ([2c5c929](https://github.com/serenity-js/serenity-js/commit/2c5c929802f894f9fe59438a01f08b1b7bec3318)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
56
|
+
* **playwright:** support for working with frames ([89d4621](https://github.com/serenity-js/serenity-js/commit/89d46212073a342fe812a3ad2638a2ad0c39b620)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
57
|
+
* **web:** introduced PagesContext and implemented PlaywrightPage ([0045a72](https://github.com/serenity-js/serenity-js/commit/0045a726d540871333f644928218aed00bcd372c)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
|
|
58
|
+
* **web:** new portable APIs to handle ModalDialog windows ([c94d0ec](https://github.com/serenity-js/serenity-js/commit/c94d0ec43d2bc8aa39f8824f5d0f1e1cbcf137a1)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236) [#805](https://github.com/serenity-js/serenity-js/issues/805) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
|
|
59
|
+
* **web:** standardised support for deep CSS selectors across the Web integration modules ([e9e3f28](https://github.com/serenity-js/serenity-js/commit/e9e3f281191fc5c891841b6c8aab41213da3b0f5)), closes [#1238](https://github.com/serenity-js/serenity-js/issues/1238)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
# [3.0.0-rc.19](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.18...v3.0.0-rc.19) (2022-06-11)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
# [3.0.0-rc.18](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v3.0.0-rc.18) (2022-06-06)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
* **deps:** updated tiny-types ([f1951cf](https://github.com/serenity-js/serenity-js/commit/f1951cf753df3807b5778d116f8e8bc3f24830a7))
|
|
73
|
+
* **deps:** updated tiny-types to 1.18.2 ([83a651c](https://github.com/serenity-js/serenity-js/commit/83a651c4c2f3f8dbaabcdacba94c720efdff45dd))
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# [3.0.0-rc.17](https://github.com/serenity-js/serenity-js/compare/v2.33.8...v3.0.0-rc.17) (2022-06-02)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
# [3.0.0-rc.16](https://github.com/serenity-js/serenity-js/compare/v2.33.6...v3.0.0-rc.16) (2022-04-15)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
# [3.0.0-rc.15](https://github.com/serenity-js/serenity-js/compare/v2.33.5...v3.0.0-rc.15) (2022-04-10)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
* **web:** corrected an inefficient regular expression in By selector description generator ([1b537d2](https://github.com/serenity-js/serenity-js/commit/1b537d2de02f89760237816fc726f5e11c2bee0c))
|
|
91
|
+
* **web:** replaced legacy PromiseLike return types with native Promise types ([436b3cb](https://github.com/serenity-js/serenity-js/commit/436b3cba1793f63008a56633cc93669736155ce6))
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
# [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* **web:** auto-generated descriptions of nested PageElements are easier to read ([5a51d91](https://github.com/serenity-js/serenity-js/commit/5a51d91f0abb1c32814c219a44da51d52df77f87))
|
|
101
|
+
* **web:** corrected return types of question about Selected page elements ([b32f280](https://github.com/serenity-js/serenity-js/commit/b32f2809b018d6791a37fd80a226ca16a822b9b6))
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
### Features
|
|
105
|
+
|
|
106
|
+
* **web:** Attribute.called(name).of(pageElement) returns a QuestionAdapter ([e220665](https://github.com/serenity-js/serenity-js/commit/e220665de37f15d4cfc8ad570bfa7b804d71335b))
|
|
107
|
+
* **web:** CssClasses.of(pageElement) returns a QuestionAdapter ([0942887](https://github.com/serenity-js/serenity-js/commit/0942887eb8e726dce3b8d64a7f9162ec782e61b7))
|
|
108
|
+
* **web:** Value.of(pageElement) returns a QuestionAdapter ([c45b483](https://github.com/serenity-js/serenity-js/commit/c45b483be071d297dc41e6b098a03f5697d53050))
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
### Features
|
|
116
|
+
|
|
117
|
+
* **web:** combined Frame and PageElement so they can be Switch-ed to ([1b7ab7c](https://github.com/serenity-js/serenity-js/commit/1b7ab7c828034a14ba801cbfa97acc203fd55adf)), closes [#82](https://github.com/serenity-js/serenity-js/issues/82) [#227](https://github.com/serenity-js/serenity-js/issues/227) [#233](https://github.com/serenity-js/serenity-js/issues/233) [#365](https://github.com/serenity-js/serenity-js/issues/365)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
# [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
# [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
### Bug Fixes
|
|
129
|
+
|
|
130
|
+
* **web:** made the constructor of BrowseTheWeb protected, since it's an abstract class ([dbfbed0](https://github.com/serenity-js/serenity-js/commit/dbfbed02923bc1c589e588429c163ffbc7b13a34))
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
### Features
|
|
134
|
+
|
|
135
|
+
* **web:** support for working with frames and an interaction to Switch.to(frameOrPage) ([ef73ef2](https://github.com/serenity-js/serenity-js/commit/ef73ef273f8a17e48d396d5ef03f6b761b136c9a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
# [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
# [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
# [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
# [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### Features
|
|
155
|
+
|
|
156
|
+
* **assertions:** isPresent works with any Optional ([cea75dc](https://github.com/serenity-js/serenity-js/commit/cea75dc1c728e45e06a87aaf9c1573a237334285)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
157
|
+
* **core:** `f` and `d` question description formatters ([c9f3fad](https://github.com/serenity-js/serenity-js/commit/c9f3fadd86ec0196f2cdbf76d9628bbef0a3fcba))
|
|
158
|
+
* **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
159
|
+
* **core:** support for Optional chaining, expectation isPresent, refactored Expectations ([1841ee5](https://github.com/serenity-js/serenity-js/commit/1841ee5fc48cfa403ddc53358f75764d9a010c21)), closes [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
# [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
### Features
|
|
171
|
+
|
|
172
|
+
* **web:** support for advanced PageElement locator patterns ([c1ff8b7](https://github.com/serenity-js/serenity-js/commit/c1ff8b7539ebc1da8f79ea2b6d17bb01c42f443d)), closes [#1084](https://github.com/serenity-js/serenity-js/issues/1084)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
### Features
|
|
180
|
+
|
|
181
|
+
* **web:** ElementExpectation makes it easier to define custom PageElement-related Expectations ([92ebf7d](https://github.com/serenity-js/serenity-js/commit/92ebf7db720d0fe88ddbe17b9958fa993b1fd02e))
|
|
182
|
+
* **web:** Text.ofAll accepts mapped PageElements ([5314246](https://github.com/serenity-js/serenity-js/commit/5314246305fa3f62446d5ec718f36354152be68d))
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
### Bug Fixes
|
|
190
|
+
|
|
191
|
+
* **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
192
|
+
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
|
|
193
|
+
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))
|
|
194
|
+
* **web:** Photographer skips taking a screenshot if the Window is closed (DevTools protocol) ([b682577](https://github.com/serenity-js/serenity-js/commit/b682577ad649046fc1a4cd61a7315e11d60dcf32))
|
|
195
|
+
* **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))
|
|
196
|
+
* **web:** simplified the selectors ([b167e42](https://github.com/serenity-js/serenity-js/commit/b167e422eb66556845c31d5847b9fd33b707c764)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### Features
|
|
200
|
+
|
|
201
|
+
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
|
|
202
|
+
* **web:** isVisible checks if the element is in viewport and not hidden behind other elements ([429040f](https://github.com/serenity-js/serenity-js/commit/429040fb32b04cd4bc7524100635203fd8128eb6))
|
|
203
|
+
* **web:** new PageElement retrieval model based on Selectors ([48bd94f](https://github.com/serenity-js/serenity-js/commit/48bd94f3c29707b66dcf81a7522f7529b6f9fcfb))
|
|
204
|
+
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
# [3.0.0-rc.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
# [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
# [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
### Bug Fixes
|
|
220
|
+
|
|
221
|
+
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
222
|
+
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
223
|
+
* **web:** added missing export ([c5ffc0a](https://github.com/serenity-js/serenity-js/commit/c5ffc0a83905c99ea0020577503170c427fdb9f2)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
224
|
+
* **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
|
|
225
|
+
* **web:** ensure all Web interactions extend the same base class ([b358c0b](https://github.com/serenity-js/serenity-js/commit/b358c0b67c1de11af63e1e2142d3613692769cd6))
|
|
226
|
+
* **web:** fixed the interaction to Select ([10b7b74](https://github.com/serenity-js/serenity-js/commit/10b7b7446743b5866a1b458577ea7d2e11bf5a8f))
|
|
227
|
+
* **web:** optimised PhotoTakingStrategy ([085b7f7](https://github.com/serenity-js/serenity-js/commit/085b7f716033b22207af47edac58c896f46af62d))
|
|
228
|
+
* **web:** removed incorrect export ([ebf80c0](https://github.com/serenity-js/serenity-js/commit/ebf80c019af4db2a847e4b98599bce02b8acef23))
|
|
229
|
+
* **web:** removed incorrect import ([90cb025](https://github.com/serenity-js/serenity-js/commit/90cb0251a00a7bff098376110dcec2f9f2c5d5c0))
|
|
230
|
+
* **web:** removed window-specific APIs from BrowseTheWeb that got replaced by Page ([918f447](https://github.com/serenity-js/serenity-js/commit/918f447c1d8f326fbf5730f1aa61108045556212)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
231
|
+
* **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
|
|
232
|
+
* **web:** renamed PageElementList to PageElements to improve readability ([a9903a7](https://github.com/serenity-js/serenity-js/commit/a9903a7389b00106ef94d2bdb9f86a7fd04be541)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
233
|
+
* **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))
|
|
234
|
+
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
### Features
|
|
238
|
+
|
|
239
|
+
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
|
|
240
|
+
* **protractor:** compatibility with @serenity-js/web ([9df4db2](https://github.com/serenity-js/serenity-js/commit/9df4db27a6e0ae62bf0d0e679a170d4865041043)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
241
|
+
* **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
|
|
242
|
+
* **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
|
|
243
|
+
* **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
|
|
244
|
+
* **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
|
|
245
|
+
* **web:** interaction to set a Cookie ([c056439](https://github.com/serenity-js/serenity-js/commit/c056439746a8f57c3edd937b8862f2babb70e94e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
246
|
+
* **web:** introduced UIElementQuestion to help ensure no NPEs in UI-related questions ([fe29121](https://github.com/serenity-js/serenity-js/commit/fe29121118d630e9fbd73dca85496e20948e26e0))
|
|
247
|
+
* **web:** migrated Photographer from @serenity-js/protractor to @serenity-js/web ([4506dac](https://github.com/serenity-js/serenity-js/commit/4506dacebdf955c32c4eff17bf9982c8e45e2925)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
248
|
+
* **web:** ModalDialog available for both Protractor and WebdriverIO adapters ([ef3c566](https://github.com/serenity-js/serenity-js/commit/ef3c566aed12b52aa22c54058992d369172b8597)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
249
|
+
* **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
|
|
250
|
+
* **web:** page provides an abstraction around browser window ([2e70a3b](https://github.com/serenity-js/serenity-js/commit/2e70a3b6af2e8cc49255820e8a1aaffcc71b76a8))
|
|
251
|
+
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
252
|
+
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
253
|
+
* **web:** support for switching browsing context ([a73a635](https://github.com/serenity-js/serenity-js/commit/a73a635f93183d67229acde78e74526564008869)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
254
|
+
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
### BREAKING CHANGES
|
|
258
|
+
|
|
259
|
+
* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
|
|
260
|
+
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
# [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)
|
|
267
|
+
|
|
268
|
+
**Note:** Version bump only for package @serenity-js/web
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
6
274
|
# [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)
|
|
7
275
|
|
|
8
276
|
**Note:** Version bump only for package @serenity-js/web
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isActive = void 0;
|
|
4
|
+
const assertions_1 = require("@serenity-js/assertions");
|
|
5
|
+
const core_1 = require("@serenity-js/core");
|
|
4
6
|
const ElementExpectation_1 = require("./ElementExpectation");
|
|
5
7
|
/**
|
|
6
8
|
* @desc
|
|
@@ -14,9 +16,8 @@ const ElementExpectation_1 = require("./ElementExpectation");
|
|
|
14
16
|
* @see {@link @serenity-js/core/lib/screenplay/questions~Check}
|
|
15
17
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
16
18
|
*/
|
|
17
|
-
// todo: isFocused?
|
|
18
19
|
function isActive() {
|
|
19
|
-
return ElementExpectation_1.ElementExpectation.forElementTo('become active', actual => actual.isActive());
|
|
20
|
+
return core_1.Expectation.to('become active').soThatActual((0, assertions_1.and)((0, assertions_1.isPresent)(), ElementExpectation_1.ElementExpectation.forElementTo('become active', actual => actual.isActive())));
|
|
20
21
|
}
|
|
21
22
|
exports.isActive = isActive;
|
|
22
23
|
//# sourceMappingURL=isActive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isActive.js","sourceRoot":"","sources":["../../src/expectations/isActive.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"isActive.js","sourceRoot":"","sources":["../../src/expectations/isActive.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4CAAgD;AAGhD,6DAA0D;AAE1D;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ;IACpB,OAAO,kBAAW,CAAC,EAAE,CAAuB,eAAe,CAAC,CAAC,YAAY,CAAC,IAAA,gBAAG,EACzE,IAAA,sBAAS,GAAE,EACX,uCAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAChF,CAAC,CAAC;AACP,CAAC;AALD,4BAKC"}
|
|
@@ -4,7 +4,6 @@ exports.isClickable = void 0;
|
|
|
4
4
|
const assertions_1 = require("@serenity-js/assertions");
|
|
5
5
|
const core_1 = require("@serenity-js/core");
|
|
6
6
|
const ElementExpectation_1 = require("./ElementExpectation");
|
|
7
|
-
const isEnabled_1 = require("./isEnabled");
|
|
8
7
|
const isVisible_1 = require("./isVisible");
|
|
9
8
|
/**
|
|
10
9
|
* @desc
|
|
@@ -24,7 +23,7 @@ const isVisible_1 = require("./isVisible");
|
|
|
24
23
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
25
24
|
*/
|
|
26
25
|
function isClickable() {
|
|
27
|
-
return core_1.Expectation.to('become clickable').soThatActual((0, assertions_1.and)((0, isVisible_1.isVisible)(),
|
|
26
|
+
return core_1.Expectation.to('become clickable').soThatActual((0, assertions_1.and)((0, isVisible_1.isVisible)(), ElementExpectation_1.ElementExpectation.forElementTo('become clickable', actual => actual.isClickable())));
|
|
28
27
|
}
|
|
29
28
|
exports.isClickable = isClickable;
|
|
30
29
|
//# sourceMappingURL=isClickable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isClickable.js","sourceRoot":"","sources":["../../src/expectations/isClickable.ts"],"names":[],"mappings":";;;AAAA,wDAA8C;AAC9C,4CAAgD;AAGhD,6DAA0D;AAC1D,2CAAwC;
|
|
1
|
+
{"version":3,"file":"isClickable.js","sourceRoot":"","sources":["../../src/expectations/isClickable.ts"],"names":[],"mappings":";;;AAAA,wDAA8C;AAC9C,4CAAgD;AAGhD,6DAA0D;AAC1D,2CAAwC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,WAAW;IACvB,OAAO,kBAAW,CAAC,EAAE,CAAuB,kBAAkB,CAAC,CAAC,YAAY,CAAC,IAAA,gBAAG,EAC5E,IAAA,qBAAS,GAAE,EACX,uCAAkB,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACtF,CAAC,CAAC;AACP,CAAC;AALD,kCAKC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isEnabled = void 0;
|
|
4
|
+
const assertions_1 = require("@serenity-js/assertions");
|
|
5
|
+
const core_1 = require("@serenity-js/core");
|
|
4
6
|
const ElementExpectation_1 = require("./ElementExpectation");
|
|
5
7
|
/**
|
|
6
8
|
* @desc
|
|
@@ -14,7 +16,7 @@ const ElementExpectation_1 = require("./ElementExpectation");
|
|
|
14
16
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
15
17
|
*/
|
|
16
18
|
function isEnabled() {
|
|
17
|
-
return ElementExpectation_1.ElementExpectation.forElementTo('become enabled', actual => actual.isEnabled());
|
|
19
|
+
return core_1.Expectation.to('become enabled').soThatActual((0, assertions_1.and)((0, assertions_1.isPresent)(), ElementExpectation_1.ElementExpectation.forElementTo('become enabled', actual => actual.isEnabled())));
|
|
18
20
|
}
|
|
19
21
|
exports.isEnabled = isEnabled;
|
|
20
22
|
//# sourceMappingURL=isEnabled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isEnabled.js","sourceRoot":"","sources":["../../src/expectations/isEnabled.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"isEnabled.js","sourceRoot":"","sources":["../../src/expectations/isEnabled.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4CAAgD;AAGhD,6DAA0D;AAE1D;;;;;;;;;;GAUG;AACH,SAAgB,SAAS;IACrB,OAAO,kBAAW,CAAC,EAAE,CAAuB,gBAAgB,CAAC,CAAC,YAAY,CAAC,IAAA,gBAAG,EAC1E,IAAA,sBAAS,GAAE,EACX,uCAAkB,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAClF,CAAC,CAAC;AACP,CAAC;AALD,8BAKC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isVisible = void 0;
|
|
4
|
+
const assertions_1 = require("@serenity-js/assertions");
|
|
5
|
+
const core_1 = require("@serenity-js/core");
|
|
4
6
|
const ElementExpectation_1 = require("./ElementExpectation");
|
|
5
7
|
/**
|
|
6
8
|
* @desc
|
|
@@ -17,7 +19,7 @@ const ElementExpectation_1 = require("./ElementExpectation");
|
|
|
17
19
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
18
20
|
*/
|
|
19
21
|
function isVisible() {
|
|
20
|
-
return ElementExpectation_1.ElementExpectation.forElementTo('become visible', actual => actual.isVisible());
|
|
22
|
+
return core_1.Expectation.to('become visible').soThatActual((0, assertions_1.and)((0, assertions_1.isPresent)(), ElementExpectation_1.ElementExpectation.forElementTo('become visible', actual => actual.isVisible())));
|
|
21
23
|
}
|
|
22
24
|
exports.isVisible = isVisible;
|
|
23
25
|
//# sourceMappingURL=isVisible.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isVisible.js","sourceRoot":"","sources":["../../src/expectations/isVisible.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"isVisible.js","sourceRoot":"","sources":["../../src/expectations/isVisible.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4CAAgD;AAGhD,6DAA0D;AAE1D;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS;IACrB,OAAO,kBAAW,CAAC,EAAE,CAAuB,gBAAgB,CAAC,CAAC,YAAY,CAAC,IAAA,gBAAG,EAC1E,IAAA,sBAAS,GAAE,EACX,uCAAkB,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAClF,CAAC,CAAC;AACP,CAAC;AALD,8BAKC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serenity-js/web",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.24",
|
|
4
4
|
"description": "Serenity/JS Screenplay Pattern APIs for the Web",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jan Molak",
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"url": "https://github.com/serenity-js/serenity-js/issues"
|
|
44
44
|
},
|
|
45
45
|
"engines": {
|
|
46
|
-
"node": "^14 || ^16",
|
|
46
|
+
"node": "^14 || ^16 || ^18",
|
|
47
47
|
"npm": "^6 || ^7 || ^8"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@serenity-js/assertions": "3.0.0-rc.
|
|
51
|
-
"@serenity-js/core": "3.0.0-rc.
|
|
50
|
+
"@serenity-js/assertions": "3.0.0-rc.24",
|
|
51
|
+
"@serenity-js/core": "3.0.0-rc.24",
|
|
52
52
|
"tiny-types": "^1.18.4"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"ts-node": "10.8.2",
|
|
61
61
|
"typescript": "^4.7.4"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "76443ef557e876727b7dae9ef66d4e6612a3034b"
|
|
64
64
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { and, isPresent } from '@serenity-js/assertions';
|
|
1
2
|
import { Expectation } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../screenplay';
|
|
@@ -15,8 +16,9 @@ import { ElementExpectation } from './ElementExpectation';
|
|
|
15
16
|
* @see {@link @serenity-js/core/lib/screenplay/questions~Check}
|
|
16
17
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
17
18
|
*/
|
|
18
|
-
// todo: isFocused?
|
|
19
19
|
export function isActive(): Expectation<PageElement> {
|
|
20
|
-
return
|
|
20
|
+
return Expectation.to<boolean, PageElement>('become active').soThatActual(and(
|
|
21
|
+
isPresent(),
|
|
22
|
+
ElementExpectation.forElementTo('become active', actual => actual.isActive()),
|
|
23
|
+
));
|
|
21
24
|
}
|
|
22
|
-
|
|
@@ -3,7 +3,6 @@ import { Expectation } from '@serenity-js/core';
|
|
|
3
3
|
|
|
4
4
|
import { PageElement } from '../screenplay';
|
|
5
5
|
import { ElementExpectation } from './ElementExpectation';
|
|
6
|
-
import { isEnabled } from './isEnabled';
|
|
7
6
|
import { isVisible } from './isVisible';
|
|
8
7
|
|
|
9
8
|
/**
|
|
@@ -26,7 +25,6 @@ import { isVisible } from './isVisible';
|
|
|
26
25
|
export function isClickable(): Expectation<PageElement> {
|
|
27
26
|
return Expectation.to<boolean, PageElement>('become clickable').soThatActual(and(
|
|
28
27
|
isVisible(),
|
|
29
|
-
isEnabled(),
|
|
30
28
|
ElementExpectation.forElementTo('become clickable', actual => actual.isClickable())
|
|
31
29
|
));
|
|
32
30
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { and, isPresent } from '@serenity-js/assertions';
|
|
1
2
|
import { Expectation } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../screenplay';
|
|
@@ -15,5 +16,8 @@ import { ElementExpectation } from './ElementExpectation';
|
|
|
15
16
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
16
17
|
*/
|
|
17
18
|
export function isEnabled(): Expectation<PageElement> {
|
|
18
|
-
return
|
|
19
|
+
return Expectation.to<boolean, PageElement>('become enabled').soThatActual(and(
|
|
20
|
+
isPresent(),
|
|
21
|
+
ElementExpectation.forElementTo('become enabled', actual => actual.isEnabled())
|
|
22
|
+
));
|
|
19
23
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { and, isPresent } from '@serenity-js/assertions';
|
|
1
2
|
import { Expectation } from '@serenity-js/core';
|
|
2
3
|
|
|
3
4
|
import { PageElement } from '../screenplay';
|
|
@@ -18,5 +19,8 @@ import { ElementExpectation } from './ElementExpectation';
|
|
|
18
19
|
* @see {@link @serenity-js/core/lib/screenplay/interactions~Wait}
|
|
19
20
|
*/
|
|
20
21
|
export function isVisible(): Expectation<PageElement> {
|
|
21
|
-
return
|
|
22
|
+
return Expectation.to<boolean, PageElement>('become visible').soThatActual(and(
|
|
23
|
+
isPresent(),
|
|
24
|
+
ElementExpectation.forElementTo('become visible', actual => actual.isVisible()),
|
|
25
|
+
));
|
|
22
26
|
}
|