playwright-automation-core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +225 -0
- package/dist/api/api.assertions.d.ts +196 -0
- package/dist/api/api.assertions.d.ts.map +1 -0
- package/dist/api/api.assertions.js +462 -0
- package/dist/api/api.assertions.js.map +1 -0
- package/dist/api/api.builder.d.ts +134 -0
- package/dist/api/api.builder.d.ts.map +1 -0
- package/dist/api/api.builder.js +273 -0
- package/dist/api/api.builder.js.map +1 -0
- package/dist/api/api.client.d.ts +157 -0
- package/dist/api/api.client.d.ts.map +1 -0
- package/dist/api/api.client.js +493 -0
- package/dist/api/api.client.js.map +1 -0
- package/dist/api/index.d.ts +8 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +17 -0
- package/dist/api/index.js.map +1 -0
- package/dist/core/base.driver.d.ts +130 -0
- package/dist/core/base.driver.d.ts.map +1 -0
- package/dist/core/base.driver.js +264 -0
- package/dist/core/base.driver.js.map +1 -0
- package/dist/core/driver.factory.d.ts +120 -0
- package/dist/core/driver.factory.d.ts.map +1 -0
- package/dist/core/driver.factory.js +222 -0
- package/dist/core/driver.factory.js.map +1 -0
- package/dist/core/element.actions.d.ts +119 -0
- package/dist/core/element.actions.d.ts.map +1 -0
- package/dist/core/element.actions.js +379 -0
- package/dist/core/element.actions.js.map +1 -0
- package/dist/core/hook.manager.d.ts +186 -0
- package/dist/core/hook.manager.d.ts.map +1 -0
- package/dist/core/hook.manager.js +297 -0
- package/dist/core/hook.manager.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +22 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +128 -0
- package/dist/index.js.map +1 -0
- package/dist/mobile/index.d.ts +7 -0
- package/dist/mobile/index.d.ts.map +1 -0
- package/dist/mobile/index.js +14 -0
- package/dist/mobile/index.js.map +1 -0
- package/dist/mobile/mobile.assertions.d.ts +146 -0
- package/dist/mobile/mobile.assertions.d.ts.map +1 -0
- package/dist/mobile/mobile.assertions.js +333 -0
- package/dist/mobile/mobile.assertions.js.map +1 -0
- package/dist/mobile/mobile.driver.d.ts +297 -0
- package/dist/mobile/mobile.driver.d.ts.map +1 -0
- package/dist/mobile/mobile.driver.js +808 -0
- package/dist/mobile/mobile.driver.js.map +1 -0
- package/dist/types/common.types.d.ts +200 -0
- package/dist/types/common.types.d.ts.map +1 -0
- package/dist/types/common.types.js +3 -0
- package/dist/types/common.types.js.map +1 -0
- package/dist/types/config.types.d.ts +192 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/config.types.js +3 -0
- package/dist/types/config.types.js.map +1 -0
- package/dist/types/driver.types.d.ts +500 -0
- package/dist/types/driver.types.d.ts.map +1 -0
- package/dist/types/driver.types.js +3 -0
- package/dist/types/driver.types.js.map +1 -0
- package/dist/types/enums.d.ts +53 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +62 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config.manager.d.ts +144 -0
- package/dist/utils/config.manager.d.ts.map +1 -0
- package/dist/utils/config.manager.js +473 -0
- package/dist/utils/config.manager.js.map +1 -0
- package/dist/utils/errors.d.ts +149 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +290 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/helpers.d.ts +124 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +421 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +78 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +145 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +235 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/wait.utils.d.ts +95 -0
- package/dist/utils/wait.utils.d.ts.map +1 -0
- package/dist/utils/wait.utils.js +306 -0
- package/dist/utils/wait.utils.js.map +1 -0
- package/dist/web/index.d.ts +8 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +16 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/web.assertions.d.ts +164 -0
- package/dist/web/web.assertions.d.ts.map +1 -0
- package/dist/web/web.assertions.js +427 -0
- package/dist/web/web.assertions.js.map +1 -0
- package/dist/web/web.driver.d.ts +174 -0
- package/dist/web/web.driver.d.ts.map +1 -0
- package/dist/web/web.driver.js +571 -0
- package/dist/web/web.driver.js.map +1 -0
- package/dist/web/web.page.d.ts +286 -0
- package/dist/web/web.page.d.ts.map +1 -0
- package/dist/web/web.page.js +570 -0
- package/dist/web/web.page.js.map +1 -0
- package/package.json +115 -0
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebAssertions = void 0;
|
|
4
|
+
const test_1 = require("@playwright/test");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
/**
|
|
7
|
+
* Default assertion options
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_ASSERTION_OPTIONS = {
|
|
10
|
+
timeout: 5000,
|
|
11
|
+
message: "",
|
|
12
|
+
soft: false,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* WebAssertions class providing assertion methods for Playwright.
|
|
16
|
+
*/
|
|
17
|
+
class WebAssertions {
|
|
18
|
+
page;
|
|
19
|
+
webPage;
|
|
20
|
+
logger;
|
|
21
|
+
softErrors = [];
|
|
22
|
+
constructor(page, webPage, logger) {
|
|
23
|
+
this.page = page;
|
|
24
|
+
this.webPage = webPage;
|
|
25
|
+
this.logger = logger || utils_1.Logger.getInstance();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get soft assertion errors
|
|
29
|
+
*/
|
|
30
|
+
getSoftErrors() {
|
|
31
|
+
return [...this.softErrors];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Clear soft assertion errors
|
|
35
|
+
*/
|
|
36
|
+
clearSoftErrors() {
|
|
37
|
+
this.softErrors = [];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if all soft assertions passed
|
|
41
|
+
*/
|
|
42
|
+
allSoftAssertionsPassed() {
|
|
43
|
+
return this.softErrors.length === 0;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Assert all soft assertions and throw if any failed
|
|
47
|
+
*/
|
|
48
|
+
assertAllSoftAssertions() {
|
|
49
|
+
if (this.softErrors.length > 0) {
|
|
50
|
+
const messages = this.softErrors
|
|
51
|
+
.map((e, i) => `${i + 1}. ${e.message}`)
|
|
52
|
+
.join("\n");
|
|
53
|
+
this.softErrors = [];
|
|
54
|
+
throw new utils_1.AssertionError(`${this.softErrors.length} soft assertion(s) failed:\n${messages}`, "all passed", "some failed");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Handle assertion result
|
|
59
|
+
*/
|
|
60
|
+
handleAssertion(passed, message, expected, actual, options) {
|
|
61
|
+
if (passed) {
|
|
62
|
+
this.logger.debug(`✓ Assertion passed: ${message}`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const errorMessage = options.message || message;
|
|
66
|
+
const result = {
|
|
67
|
+
passed: false,
|
|
68
|
+
message: errorMessage,
|
|
69
|
+
expected,
|
|
70
|
+
actual,
|
|
71
|
+
};
|
|
72
|
+
if (options.soft) {
|
|
73
|
+
this.logger.warn(`✗ Soft assertion failed: ${errorMessage}`);
|
|
74
|
+
this.softErrors.push(result);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this.logger.error(`✗ Assertion failed: ${errorMessage}`);
|
|
78
|
+
throw new utils_1.AssertionError(errorMessage, expected, actual);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get Playwright locator from string or Locator object
|
|
83
|
+
*/
|
|
84
|
+
async getLocator(locator) {
|
|
85
|
+
return await this.webPage.getLocator(locator);
|
|
86
|
+
}
|
|
87
|
+
// ============ Page Assertions ============
|
|
88
|
+
/**
|
|
89
|
+
* Assert page title
|
|
90
|
+
*/
|
|
91
|
+
async assertTitle(expected, options = {}) {
|
|
92
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
93
|
+
const actual = await this.page.title();
|
|
94
|
+
const passed = typeof expected === "string"
|
|
95
|
+
? actual === expected
|
|
96
|
+
: expected.test(actual);
|
|
97
|
+
this.handleAssertion(passed, `Page title should be "${expected}", but was "${actual}"`, expected, actual, opts);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Assert page title contains
|
|
101
|
+
*/
|
|
102
|
+
async assertTitleContains(expected, options = {}) {
|
|
103
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
104
|
+
const actual = await this.page.title();
|
|
105
|
+
const passed = actual.includes(expected);
|
|
106
|
+
this.handleAssertion(passed, `Page title should contain "${expected}", but was "${actual}"`, `contains "${expected}"`, actual, opts);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Assert page URL
|
|
110
|
+
*/
|
|
111
|
+
async assertUrl(expected, options = {}) {
|
|
112
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
113
|
+
const actual = this.page.url();
|
|
114
|
+
const passed = typeof expected === "string"
|
|
115
|
+
? actual === expected
|
|
116
|
+
: expected.test(actual);
|
|
117
|
+
this.handleAssertion(passed, `Page URL should be "${expected}", but was "${actual}"`, expected, actual, opts);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Assert page URL contains
|
|
121
|
+
*/
|
|
122
|
+
async assertUrlContains(expected, options = {}) {
|
|
123
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
124
|
+
const actual = this.page.url();
|
|
125
|
+
const passed = actual.includes(expected);
|
|
126
|
+
this.handleAssertion(passed, `Page URL should contain "${expected}", but was "${actual}"`, `contains "${expected}"`, actual, opts);
|
|
127
|
+
}
|
|
128
|
+
// ============ Element Visibility Assertions ============
|
|
129
|
+
/**
|
|
130
|
+
* Assert element is visible
|
|
131
|
+
*/
|
|
132
|
+
async assertVisible(locator, options = {}) {
|
|
133
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
134
|
+
try {
|
|
135
|
+
const element = await this.getLocator(locator);
|
|
136
|
+
await (0, test_1.expect)(element).toBeVisible({ timeout: opts.timeout });
|
|
137
|
+
this.logger.debug(`✓ Element is visible: ${locator}`);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
this.handleAssertion(false, `Element should be visible: ${locator}`, "visible", "not visible", opts);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Assert element is not visible / hidden
|
|
145
|
+
*/
|
|
146
|
+
async assertHidden(locator, options = {}) {
|
|
147
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
148
|
+
try {
|
|
149
|
+
const element = await this.getLocator(locator);
|
|
150
|
+
await (0, test_1.expect)(element).toBeHidden({ timeout: opts.timeout });
|
|
151
|
+
this.logger.debug(`✓ Element is hidden: ${locator}`);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
this.handleAssertion(false, `Element should be hidden: ${locator}`, "hidden", "visible", opts);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Assert element exists in DOM
|
|
159
|
+
*/
|
|
160
|
+
async assertExists(locator, options = {}) {
|
|
161
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
162
|
+
const exists = await this.webPage.exists(locator, opts.timeout);
|
|
163
|
+
this.handleAssertion(exists, `Element should exist: ${locator}`, "exists", "not found", opts);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Assert element does not exist in DOM
|
|
167
|
+
*/
|
|
168
|
+
async assertNotExists(locator, options = {}) {
|
|
169
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
170
|
+
const exists = await this.webPage.exists(locator, 1000);
|
|
171
|
+
this.handleAssertion(!exists, `Element should not exist: ${locator}`, "not exists", "exists", opts);
|
|
172
|
+
}
|
|
173
|
+
// ============ Element State Assertions ============
|
|
174
|
+
/**
|
|
175
|
+
* Assert element is enabled
|
|
176
|
+
*/
|
|
177
|
+
async assertEnabled(locator, options = {}) {
|
|
178
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
179
|
+
try {
|
|
180
|
+
const element = await this.getLocator(locator);
|
|
181
|
+
await (0, test_1.expect)(element).toBeEnabled({ timeout: opts.timeout });
|
|
182
|
+
this.logger.debug(`✓ Element is enabled: ${locator}`);
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
this.handleAssertion(false, `Element should be enabled: ${locator}`, "enabled", "disabled", opts);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Assert element is disabled
|
|
190
|
+
*/
|
|
191
|
+
async assertDisabled(locator, options = {}) {
|
|
192
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
193
|
+
try {
|
|
194
|
+
const element = await this.getLocator(locator);
|
|
195
|
+
await (0, test_1.expect)(element).toBeDisabled({ timeout: opts.timeout });
|
|
196
|
+
this.logger.debug(`✓ Element is disabled: ${locator}`);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
this.handleAssertion(false, `Element should be disabled: ${locator}`, "disabled", "enabled", opts);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Assert checkbox/radio is checked
|
|
204
|
+
*/
|
|
205
|
+
async assertChecked(locator, options = {}) {
|
|
206
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
207
|
+
try {
|
|
208
|
+
const element = await this.getLocator(locator);
|
|
209
|
+
await (0, test_1.expect)(element).toBeChecked({ timeout: opts.timeout });
|
|
210
|
+
this.logger.debug(`✓ Element is checked: ${locator}`);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
this.handleAssertion(false, `Element should be checked: ${locator}`, "checked", "not checked", opts);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Assert checkbox/radio is not checked
|
|
218
|
+
*/
|
|
219
|
+
async assertNotChecked(locator, options = {}) {
|
|
220
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
221
|
+
try {
|
|
222
|
+
const element = await this.getLocator(locator);
|
|
223
|
+
await (0, test_1.expect)(element).not.toBeChecked({ timeout: opts.timeout });
|
|
224
|
+
this.logger.debug(`✓ Element is not checked: ${locator}`);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
this.handleAssertion(false, `Element should not be checked: ${locator}`, "not checked", "checked", opts);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Assert element is focused
|
|
232
|
+
*/
|
|
233
|
+
async assertFocused(locator, options = {}) {
|
|
234
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
235
|
+
try {
|
|
236
|
+
const element = await this.getLocator(locator);
|
|
237
|
+
await (0, test_1.expect)(element).toBeFocused({ timeout: opts.timeout });
|
|
238
|
+
this.logger.debug(`✓ Element is focused: ${locator}`);
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
this.handleAssertion(false, `Element should be focused: ${locator}`, "focused", "not focused", opts);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// ============ Text Assertions ============
|
|
245
|
+
/**
|
|
246
|
+
* Assert element has exact text
|
|
247
|
+
*/
|
|
248
|
+
async assertText(locator, expected, options = {}) {
|
|
249
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
250
|
+
try {
|
|
251
|
+
const element = await this.getLocator(locator);
|
|
252
|
+
await (0, test_1.expect)(element).toHaveText(expected, { timeout: opts.timeout });
|
|
253
|
+
this.logger.debug(`✓ Element has text "${expected}": ${locator}`);
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
const actual = await this.webPage.getText(locator);
|
|
257
|
+
this.handleAssertion(false, `Element text should be "${expected}", but was "${actual}"`, expected, actual, opts);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Assert element contains text
|
|
262
|
+
*/
|
|
263
|
+
async assertTextContains(locator, expected, options = {}) {
|
|
264
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
265
|
+
try {
|
|
266
|
+
const element = await this.getLocator(locator);
|
|
267
|
+
await (0, test_1.expect)(element).toContainText(expected, { timeout: opts.timeout });
|
|
268
|
+
this.logger.debug(`✓ Element contains text "${expected}": ${locator}`);
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
const actual = await this.webPage.getText(locator);
|
|
272
|
+
this.handleAssertion(false, `Element should contain "${expected}", but was "${actual}"`, `contains "${expected}"`, actual, opts);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Assert element has empty text
|
|
277
|
+
*/
|
|
278
|
+
async assertTextEmpty(locator, options = {}) {
|
|
279
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
280
|
+
const actual = await this.webPage.getText(locator);
|
|
281
|
+
const passed = actual.trim() === "";
|
|
282
|
+
this.handleAssertion(passed, `Element text should be empty, but was "${actual}"`, "empty", actual, opts);
|
|
283
|
+
}
|
|
284
|
+
// ============ Value Assertions ============
|
|
285
|
+
/**
|
|
286
|
+
* Assert input has value
|
|
287
|
+
*/
|
|
288
|
+
async assertValue(locator, expected, options = {}) {
|
|
289
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
290
|
+
try {
|
|
291
|
+
const element = await this.getLocator(locator);
|
|
292
|
+
await (0, test_1.expect)(element).toHaveValue(expected, { timeout: opts.timeout });
|
|
293
|
+
this.logger.debug(`✓ Element has value "${expected}": ${locator}`);
|
|
294
|
+
}
|
|
295
|
+
catch (error) {
|
|
296
|
+
const actual = await this.webPage.getValue(locator);
|
|
297
|
+
this.handleAssertion(false, `Element value should be "${expected}", but was "${actual}"`, expected, actual, opts);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Assert input value contains
|
|
302
|
+
*/
|
|
303
|
+
async assertValueContains(locator, expected, options = {}) {
|
|
304
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
305
|
+
const actual = await this.webPage.getValue(locator);
|
|
306
|
+
const passed = actual.includes(expected);
|
|
307
|
+
this.handleAssertion(passed, `Element value should contain "${expected}", but was "${actual}"`, `contains "${expected}"`, actual, opts);
|
|
308
|
+
}
|
|
309
|
+
// ============ Attribute Assertions ============
|
|
310
|
+
/**
|
|
311
|
+
* Assert element has attribute with value
|
|
312
|
+
*/
|
|
313
|
+
async assertAttribute(locator, name, expected, options = {}) {
|
|
314
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
315
|
+
try {
|
|
316
|
+
const element = await this.getLocator(locator);
|
|
317
|
+
await (0, test_1.expect)(element).toHaveAttribute(name, expected, {
|
|
318
|
+
timeout: opts.timeout,
|
|
319
|
+
});
|
|
320
|
+
this.logger.debug(`✓ Element has attribute ${name}="${expected}": ${locator}`);
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
const actual = await this.webPage.getAttribute(locator, name);
|
|
324
|
+
this.handleAssertion(false, `Element attribute ${name} should be "${expected}", but was "${actual}"`, expected, actual, opts);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Assert element has attribute (any value)
|
|
329
|
+
*/
|
|
330
|
+
async assertHasAttribute(locator, name, options = {}) {
|
|
331
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
332
|
+
const actual = await this.webPage.getAttribute(locator, name);
|
|
333
|
+
const passed = actual !== null;
|
|
334
|
+
this.handleAssertion(passed, `Element should have attribute ${name}`, "has attribute", "no attribute", opts);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Assert element has CSS class
|
|
338
|
+
*/
|
|
339
|
+
async assertHasClass(locator, className, options = {}) {
|
|
340
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
341
|
+
try {
|
|
342
|
+
const element = await this.getLocator(locator);
|
|
343
|
+
await (0, test_1.expect)(element).toHaveClass(new RegExp(`(^|\\s)${className}(\\s|$)`), { timeout: opts.timeout });
|
|
344
|
+
this.logger.debug(`✓ Element has class "${className}": ${locator}`);
|
|
345
|
+
}
|
|
346
|
+
catch (error) {
|
|
347
|
+
const actual = await this.webPage.getAttribute(locator, "class");
|
|
348
|
+
this.handleAssertion(false, `Element should have class "${className}", but has "${actual}"`, className, actual, opts);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// ============ Count Assertions ============
|
|
352
|
+
/**
|
|
353
|
+
* Assert element count
|
|
354
|
+
*/
|
|
355
|
+
async assertCount(locator, expected, options = {}) {
|
|
356
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
357
|
+
try {
|
|
358
|
+
const element = await this.getLocator(locator);
|
|
359
|
+
await (0, test_1.expect)(element).toHaveCount(expected, { timeout: opts.timeout });
|
|
360
|
+
this.logger.debug(`✓ Element count is ${expected}: ${locator}`);
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
const actual = await this.webPage.getElementCount(locator);
|
|
364
|
+
this.handleAssertion(false, `Element count should be ${expected}, but was ${actual}`, expected, actual, opts);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Assert element count greater than
|
|
369
|
+
*/
|
|
370
|
+
async assertCountGreaterThan(locator, expected, options = {}) {
|
|
371
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
372
|
+
const actual = await this.webPage.getElementCount(locator);
|
|
373
|
+
const passed = actual > expected;
|
|
374
|
+
this.handleAssertion(passed, `Element count should be greater than ${expected}, but was ${actual}`, `> ${expected}`, actual, opts);
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Assert element count less than
|
|
378
|
+
*/
|
|
379
|
+
async assertCountLessThan(locator, expected, options = {}) {
|
|
380
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
381
|
+
const actual = await this.webPage.getElementCount(locator);
|
|
382
|
+
const passed = actual < expected;
|
|
383
|
+
this.handleAssertion(passed, `Element count should be less than ${expected}, but was ${actual}`, `< ${expected}`, actual, opts);
|
|
384
|
+
}
|
|
385
|
+
// ============ Generic Assertions ============
|
|
386
|
+
/**
|
|
387
|
+
* Assert condition is true
|
|
388
|
+
*/
|
|
389
|
+
assertTrue(condition, message, options = {}) {
|
|
390
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
391
|
+
this.handleAssertion(condition, message, true, condition, opts);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Assert condition is false
|
|
395
|
+
*/
|
|
396
|
+
assertFalse(condition, message, options = {}) {
|
|
397
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
398
|
+
this.handleAssertion(!condition, message, false, condition, opts);
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Assert values are equal
|
|
402
|
+
*/
|
|
403
|
+
assertEqual(actual, expected, message, options = {}) {
|
|
404
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
405
|
+
const passed = actual === expected;
|
|
406
|
+
const msg = message || `Expected ${expected}, but got ${actual}`;
|
|
407
|
+
this.handleAssertion(passed, msg, expected, actual, opts);
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Assert values are not equal
|
|
411
|
+
*/
|
|
412
|
+
assertNotEqual(actual, notExpected, message, options = {}) {
|
|
413
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
414
|
+
const passed = actual !== notExpected;
|
|
415
|
+
const msg = message || `Expected value to not be ${notExpected}`;
|
|
416
|
+
this.handleAssertion(passed, msg, `not ${notExpected}`, actual, opts);
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Always fail with message
|
|
420
|
+
*/
|
|
421
|
+
fail(message, options = {}) {
|
|
422
|
+
const opts = { ...DEFAULT_ASSERTION_OPTIONS, ...options };
|
|
423
|
+
this.handleAssertion(false, message, "pass", "fail", opts);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
exports.WebAssertions = WebAssertions;
|
|
427
|
+
//# sourceMappingURL=web.assertions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.assertions.js","sourceRoot":"","sources":["../../src/web/web.assertions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { Browser, BrowserContext, Page } from "@playwright/test";
|
|
2
|
+
import { WebConfig, IWebDriver, ScreenshotOptions, WaitOptions, Cookie } from "../types";
|
|
3
|
+
import { BaseDriver } from "../core/base.driver";
|
|
4
|
+
import { Logger } from "../utils";
|
|
5
|
+
/**
|
|
6
|
+
* Web Driver implementation using Playwright.
|
|
7
|
+
* Supports Chromium, Firefox, and WebKit browsers.
|
|
8
|
+
*/
|
|
9
|
+
export declare class WebDriver extends BaseDriver implements IWebDriver {
|
|
10
|
+
/** Playwright browser instance */
|
|
11
|
+
private browser;
|
|
12
|
+
/** Browser context */
|
|
13
|
+
private context;
|
|
14
|
+
/** Current active page */
|
|
15
|
+
private page;
|
|
16
|
+
/** All pages in the context */
|
|
17
|
+
private pages;
|
|
18
|
+
/** Web-specific configuration */
|
|
19
|
+
protected config: WebConfig;
|
|
20
|
+
/** Hook manager */
|
|
21
|
+
private hooks;
|
|
22
|
+
/**
|
|
23
|
+
* Create a new WebDriver instance
|
|
24
|
+
*/
|
|
25
|
+
constructor(config: WebConfig, logger?: Logger);
|
|
26
|
+
/**
|
|
27
|
+
* Initialize the browser and create a new page
|
|
28
|
+
*/
|
|
29
|
+
initialize(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Get Playwright browser type based on configuration
|
|
32
|
+
*/
|
|
33
|
+
private getBrowserType;
|
|
34
|
+
/**
|
|
35
|
+
* Create browser context with configuration options
|
|
36
|
+
*/
|
|
37
|
+
private createContext;
|
|
38
|
+
/**
|
|
39
|
+
* Set up event listeners on a page
|
|
40
|
+
*/
|
|
41
|
+
private setupPageListeners;
|
|
42
|
+
/**
|
|
43
|
+
* Get the underlying Playwright Page object
|
|
44
|
+
*/
|
|
45
|
+
getDriver(): Page;
|
|
46
|
+
/**
|
|
47
|
+
* Get the current page
|
|
48
|
+
*/
|
|
49
|
+
getPage(): Page;
|
|
50
|
+
/**
|
|
51
|
+
* Get the browser instance
|
|
52
|
+
*/
|
|
53
|
+
getBrowser(): Browser;
|
|
54
|
+
/**
|
|
55
|
+
* Get the browser context
|
|
56
|
+
*/
|
|
57
|
+
getContext(): BrowserContext;
|
|
58
|
+
/**
|
|
59
|
+
* Navigate to a URL
|
|
60
|
+
*/
|
|
61
|
+
navigateTo(url: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Get current URL
|
|
64
|
+
*/
|
|
65
|
+
getCurrentUrl(): Promise<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Get page title
|
|
68
|
+
*/
|
|
69
|
+
getTitle(): Promise<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Go back in browser history
|
|
72
|
+
*/
|
|
73
|
+
goBack(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Go forward in browser history
|
|
76
|
+
*/
|
|
77
|
+
goForward(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Refresh the current page
|
|
80
|
+
*/
|
|
81
|
+
refresh(): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Create a new page/tab
|
|
84
|
+
*/
|
|
85
|
+
newPage(): Promise<Page>;
|
|
86
|
+
/**
|
|
87
|
+
* Close the current page
|
|
88
|
+
*/
|
|
89
|
+
closePage(): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Get all pages
|
|
92
|
+
*/
|
|
93
|
+
getAllPages(): Page[];
|
|
94
|
+
/**
|
|
95
|
+
* Switch to page by index
|
|
96
|
+
*/
|
|
97
|
+
switchToPage(index: number): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Wait for navigation to complete
|
|
100
|
+
*/
|
|
101
|
+
waitForNavigation(options?: WaitOptions): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Wait for page load state
|
|
104
|
+
*/
|
|
105
|
+
waitForLoadState(state?: "load" | "domcontentloaded" | "networkidle"): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Set viewport size
|
|
108
|
+
*/
|
|
109
|
+
setViewportSize(width: number, height: number): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Take a screenshot
|
|
112
|
+
*/
|
|
113
|
+
takeScreenshot(options?: ScreenshotOptions): Promise<Buffer>;
|
|
114
|
+
/**
|
|
115
|
+
* Execute JavaScript in the browser
|
|
116
|
+
*/
|
|
117
|
+
executeScript<T>(script: string | ((...args: unknown[]) => T), ...args: unknown[]): Promise<T>;
|
|
118
|
+
/**
|
|
119
|
+
* Get all cookies
|
|
120
|
+
*/
|
|
121
|
+
getCookies(): Promise<Cookie[]>;
|
|
122
|
+
/**
|
|
123
|
+
* Add a cookie
|
|
124
|
+
*/
|
|
125
|
+
addCookie(cookie: Record<string, unknown>): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Clear all cookies
|
|
128
|
+
*/
|
|
129
|
+
clearCookies(): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Get local storage item
|
|
132
|
+
*/
|
|
133
|
+
getLocalStorage(key: string): Promise<string | null>;
|
|
134
|
+
/**
|
|
135
|
+
* Set local storage item
|
|
136
|
+
*/
|
|
137
|
+
setLocalStorage(key: string, value: string): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* Clear local storage
|
|
140
|
+
*/
|
|
141
|
+
clearLocalStorage(): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Get session storage item
|
|
144
|
+
*/
|
|
145
|
+
getSessionStorage(key: string): Promise<string | null>;
|
|
146
|
+
/**
|
|
147
|
+
* Set session storage item
|
|
148
|
+
*/
|
|
149
|
+
setSessionStorage(key: string, value: string): Promise<void>;
|
|
150
|
+
/**
|
|
151
|
+
* Clear session storage
|
|
152
|
+
*/
|
|
153
|
+
clearSessionStorage(): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Save storage state to file (cookies + localStorage)
|
|
156
|
+
*/
|
|
157
|
+
saveStorageState(filePath: string): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Start tracing
|
|
160
|
+
*/
|
|
161
|
+
startTracing(options?: {
|
|
162
|
+
screenshots?: boolean;
|
|
163
|
+
snapshots?: boolean;
|
|
164
|
+
}): Promise<void>;
|
|
165
|
+
/**
|
|
166
|
+
* Stop tracing and save to file
|
|
167
|
+
*/
|
|
168
|
+
stopTracing(filePath: string): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Quit the driver and close the browser
|
|
171
|
+
*/
|
|
172
|
+
quit(): Promise<void>;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=web.driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.driver.d.ts","sourceRoot":"","sources":["../../src/web/web.driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACP,cAAc,EACd,IAAI,EAGL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,MAAM,EACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EACL,MAAM,EAIP,MAAM,UAAU,CAAC;AAGlB;;;GAGG;AACH,qBAAa,SAAU,SAAQ,UAAW,YAAW,UAAU;IAC7D,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAAwB;IAEvC,sBAAsB;IACtB,OAAO,CAAC,OAAO,CAA+B;IAE9C,0BAA0B;IAC1B,OAAO,CAAC,IAAI,CAAqB;IAEjC,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAc;IAE3B,iCAAiC;IACjC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;IAE5B,mBAAmB;IACnB,OAAO,CAAC,KAAK,CAAc;IAE3B;;OAEG;gBACS,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAM9C;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;YACW,aAAa;IAiD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACI,SAAS,IAAI,IAAI;IAKxB;;OAEG;IACI,OAAO,IAAI,IAAI;IAKtB;;OAEG;IACI,UAAU,IAAI,OAAO;IAK5B;;OAEG;IACI,UAAU,IAAI,cAAc;IAKnC;;OAEG;IACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCnD;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7C;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOpC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;OAEG;IACI,WAAW,IAAI,IAAI,EAAE;IAK5B;;OAEG;IACU,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;IACU,gBAAgB,CAC3B,KAAK,GAAE,MAAM,GAAG,kBAAkB,GAAG,aAAsB,GAC1D,OAAO,CAAC,IAAI,CAAC;IAKhB;;OAEG;IACU,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E;;OAEG;IACU,cAAc,CACzB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC;IA8BlB;;OAEG;IACU,aAAa,CAAC,CAAC,EAC1B,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAC5C,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC;IASb;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAe5C;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C;;OAEG;IACU,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjE;;OAEG;IACU,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvE;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/C;;OAEG;IACU,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKnE;;OAEG;IACU,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjD;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9D;;OAEG;IACU,YAAY,CAAC,OAAO,CAAC,EAAE;QAClC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;OAEG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzD;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA+CnC"}
|