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.
Files changed (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/dist/api/api.assertions.d.ts +196 -0
  4. package/dist/api/api.assertions.d.ts.map +1 -0
  5. package/dist/api/api.assertions.js +462 -0
  6. package/dist/api/api.assertions.js.map +1 -0
  7. package/dist/api/api.builder.d.ts +134 -0
  8. package/dist/api/api.builder.d.ts.map +1 -0
  9. package/dist/api/api.builder.js +273 -0
  10. package/dist/api/api.builder.js.map +1 -0
  11. package/dist/api/api.client.d.ts +157 -0
  12. package/dist/api/api.client.d.ts.map +1 -0
  13. package/dist/api/api.client.js +493 -0
  14. package/dist/api/api.client.js.map +1 -0
  15. package/dist/api/index.d.ts +8 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +17 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/core/base.driver.d.ts +130 -0
  20. package/dist/core/base.driver.d.ts.map +1 -0
  21. package/dist/core/base.driver.js +264 -0
  22. package/dist/core/base.driver.js.map +1 -0
  23. package/dist/core/driver.factory.d.ts +120 -0
  24. package/dist/core/driver.factory.d.ts.map +1 -0
  25. package/dist/core/driver.factory.js +222 -0
  26. package/dist/core/driver.factory.js.map +1 -0
  27. package/dist/core/element.actions.d.ts +119 -0
  28. package/dist/core/element.actions.d.ts.map +1 -0
  29. package/dist/core/element.actions.js +379 -0
  30. package/dist/core/element.actions.js.map +1 -0
  31. package/dist/core/hook.manager.d.ts +186 -0
  32. package/dist/core/hook.manager.d.ts.map +1 -0
  33. package/dist/core/hook.manager.js +297 -0
  34. package/dist/core/hook.manager.js.map +1 -0
  35. package/dist/core/index.d.ts +8 -0
  36. package/dist/core/index.d.ts.map +1 -0
  37. package/dist/core/index.js +22 -0
  38. package/dist/core/index.js.map +1 -0
  39. package/dist/index.d.ts +17 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +128 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/mobile/index.d.ts +7 -0
  44. package/dist/mobile/index.d.ts.map +1 -0
  45. package/dist/mobile/index.js +14 -0
  46. package/dist/mobile/index.js.map +1 -0
  47. package/dist/mobile/mobile.assertions.d.ts +146 -0
  48. package/dist/mobile/mobile.assertions.d.ts.map +1 -0
  49. package/dist/mobile/mobile.assertions.js +333 -0
  50. package/dist/mobile/mobile.assertions.js.map +1 -0
  51. package/dist/mobile/mobile.driver.d.ts +297 -0
  52. package/dist/mobile/mobile.driver.d.ts.map +1 -0
  53. package/dist/mobile/mobile.driver.js +808 -0
  54. package/dist/mobile/mobile.driver.js.map +1 -0
  55. package/dist/types/common.types.d.ts +200 -0
  56. package/dist/types/common.types.d.ts.map +1 -0
  57. package/dist/types/common.types.js +3 -0
  58. package/dist/types/common.types.js.map +1 -0
  59. package/dist/types/config.types.d.ts +192 -0
  60. package/dist/types/config.types.d.ts.map +1 -0
  61. package/dist/types/config.types.js +3 -0
  62. package/dist/types/config.types.js.map +1 -0
  63. package/dist/types/driver.types.d.ts +500 -0
  64. package/dist/types/driver.types.d.ts.map +1 -0
  65. package/dist/types/driver.types.js +3 -0
  66. package/dist/types/driver.types.js.map +1 -0
  67. package/dist/types/enums.d.ts +53 -0
  68. package/dist/types/enums.d.ts.map +1 -0
  69. package/dist/types/enums.js +62 -0
  70. package/dist/types/enums.js.map +1 -0
  71. package/dist/types/index.d.ts +8 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +15 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/dist/utils/config.manager.d.ts +144 -0
  76. package/dist/utils/config.manager.d.ts.map +1 -0
  77. package/dist/utils/config.manager.js +473 -0
  78. package/dist/utils/config.manager.js.map +1 -0
  79. package/dist/utils/errors.d.ts +149 -0
  80. package/dist/utils/errors.d.ts.map +1 -0
  81. package/dist/utils/errors.js +290 -0
  82. package/dist/utils/errors.js.map +1 -0
  83. package/dist/utils/helpers.d.ts +124 -0
  84. package/dist/utils/helpers.d.ts.map +1 -0
  85. package/dist/utils/helpers.js +421 -0
  86. package/dist/utils/helpers.js.map +1 -0
  87. package/dist/utils/index.d.ts +9 -0
  88. package/dist/utils/index.d.ts.map +1 -0
  89. package/dist/utils/index.js +78 -0
  90. package/dist/utils/index.js.map +1 -0
  91. package/dist/utils/logger.d.ts +145 -0
  92. package/dist/utils/logger.d.ts.map +1 -0
  93. package/dist/utils/logger.js +235 -0
  94. package/dist/utils/logger.js.map +1 -0
  95. package/dist/utils/wait.utils.d.ts +95 -0
  96. package/dist/utils/wait.utils.d.ts.map +1 -0
  97. package/dist/utils/wait.utils.js +306 -0
  98. package/dist/utils/wait.utils.js.map +1 -0
  99. package/dist/web/index.d.ts +8 -0
  100. package/dist/web/index.d.ts.map +1 -0
  101. package/dist/web/index.js +16 -0
  102. package/dist/web/index.js.map +1 -0
  103. package/dist/web/web.assertions.d.ts +164 -0
  104. package/dist/web/web.assertions.d.ts.map +1 -0
  105. package/dist/web/web.assertions.js +427 -0
  106. package/dist/web/web.assertions.js.map +1 -0
  107. package/dist/web/web.driver.d.ts +174 -0
  108. package/dist/web/web.driver.d.ts.map +1 -0
  109. package/dist/web/web.driver.js +571 -0
  110. package/dist/web/web.driver.js.map +1 -0
  111. package/dist/web/web.page.d.ts +286 -0
  112. package/dist/web/web.page.d.ts.map +1 -0
  113. package/dist/web/web.page.js +570 -0
  114. package/dist/web/web.page.js.map +1 -0
  115. 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":"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"}