pw-element-interactions 0.0.3 → 0.0.5
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/README.md +62 -14
- package/dist/enum/Options.d.ts +53 -0
- package/dist/enum/Options.js +15 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.js +34 -2
- package/dist/interactions/Extraction.d.ts +25 -0
- package/dist/interactions/Extraction.js +40 -0
- package/dist/interactions/Interaction.d.ts +33 -24
- package/dist/interactions/Interaction.js +111 -27
- package/dist/interactions/Navigation.js +0 -4
- package/dist/interactions/Verification.d.ts +20 -9
- package/dist/interactions/Verification.js +58 -13
- package/dist/interactions/facade/ElementInteractions.d.ts +24 -0
- package/dist/interactions/facade/ElementInteractions.js +33 -0
- package/dist/steps/CommonSteps.d.ts +84 -18
- package/dist/steps/CommonSteps.js +130 -22
- package/dist/utils/DateUtilities.js +1 -5
- package/dist/utils/ElementUtilities.d.ts +22 -0
- package/dist/utils/ElementUtilities.js +36 -0
- package/package.json +2 -1
- package/dist/ElementInteractions.d.ts +0 -10
- package/dist/ElementInteractions.js +0 -17
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Steps = void 0;
|
|
4
|
-
const ElementInteractions_1 = require("../ElementInteractions");
|
|
4
|
+
const ElementInteractions_1 = require("../interactions/facade/ElementInteractions");
|
|
5
5
|
/**
|
|
6
6
|
* The `Steps` class serves as a unified Facade for test orchestration.
|
|
7
7
|
* It combines element acquisition (via `pw-element-repository`) with
|
|
@@ -13,26 +13,31 @@ class Steps {
|
|
|
13
13
|
repo;
|
|
14
14
|
interact;
|
|
15
15
|
navigate;
|
|
16
|
+
extract;
|
|
16
17
|
verify;
|
|
18
|
+
utils;
|
|
17
19
|
/**
|
|
18
20
|
* Initializes the Steps class with the required Playwright page and element repository.
|
|
19
|
-
*
|
|
21
|
+
* @param page - The current Playwright Page object.
|
|
20
22
|
* @param repo - An initialized instance of `ElementRepository` containing your locators.
|
|
23
|
+
* @param timeout - Optional global timeout override (in milliseconds).
|
|
21
24
|
*/
|
|
22
|
-
constructor(page, repo) {
|
|
25
|
+
constructor(page, repo, timeout) {
|
|
23
26
|
this.page = page;
|
|
24
27
|
this.repo = repo;
|
|
25
|
-
const interactions = new ElementInteractions_1.ElementInteractions(page);
|
|
28
|
+
const interactions = new ElementInteractions_1.ElementInteractions(page, timeout);
|
|
26
29
|
this.interact = interactions.interact;
|
|
27
30
|
this.navigate = interactions.navigate;
|
|
31
|
+
this.extract = interactions.extract;
|
|
28
32
|
this.verify = interactions.verify;
|
|
33
|
+
this.utils = interactions.utils;
|
|
29
34
|
}
|
|
30
35
|
// ==========================================
|
|
31
36
|
// 🧭 NAVIGATION STEPS
|
|
32
37
|
// ==========================================
|
|
33
38
|
/**
|
|
34
39
|
* Navigates the browser to the specified URL.
|
|
35
|
-
*
|
|
40
|
+
* @param url - The absolute or relative URL to navigate to.
|
|
36
41
|
*/
|
|
37
42
|
async navigateTo(url) {
|
|
38
43
|
console.log(`[Step] -> Navigating to URL: "${url}"`);
|
|
@@ -50,7 +55,7 @@ class Steps {
|
|
|
50
55
|
// ==========================================
|
|
51
56
|
/**
|
|
52
57
|
* Retrieves an element from the repository and performs a standard click.
|
|
53
|
-
*
|
|
58
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
54
59
|
* @param elementName - The specific element name in your repository.
|
|
55
60
|
*/
|
|
56
61
|
async click(pageName, elementName) {
|
|
@@ -58,10 +63,21 @@ class Steps {
|
|
|
58
63
|
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
59
64
|
await this.interact.click(locator);
|
|
60
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves an element and dispatches a native 'click' event directly to it.
|
|
68
|
+
* Bypasses default scrolling and intersection checks. Useful for obscured elements.
|
|
69
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
70
|
+
* @param elementName - The specific element name in your repository.
|
|
71
|
+
*/
|
|
72
|
+
async clickWithoutScrolling(pageName, elementName) {
|
|
73
|
+
console.log(`[Step] -> Clicking (no scroll) on '${elementName}' in '${pageName}'`);
|
|
74
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
75
|
+
await this.interact.clickWithoutScrolling(locator);
|
|
76
|
+
}
|
|
61
77
|
/**
|
|
62
78
|
* Retrieves a random element from a resolved list of locators and clicks it.
|
|
63
79
|
* Useful for clicking random items in a list or grid (e.g., product cards).
|
|
64
|
-
*
|
|
80
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
65
81
|
* @param elementName - The specific element name in your repository representing multiple elements.
|
|
66
82
|
*/
|
|
67
83
|
async clickRandom(pageName, elementName) {
|
|
@@ -72,7 +88,7 @@ class Steps {
|
|
|
72
88
|
/**
|
|
73
89
|
* Retrieves an element and clicks it only if it is visible.
|
|
74
90
|
* Prevents test failures on optional elements like cookie banners or promotional pop-ups.
|
|
75
|
-
*
|
|
91
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
76
92
|
* @param elementName - The specific element name in your repository.
|
|
77
93
|
*/
|
|
78
94
|
async clickIfPresent(pageName, elementName) {
|
|
@@ -80,9 +96,29 @@ class Steps {
|
|
|
80
96
|
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
81
97
|
await this.interact.clickIfPresent(locator);
|
|
82
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Retrieves an element and hovers over it. Useful for triggering dropdowns or tooltips.
|
|
101
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
102
|
+
* @param elementName - The specific element name in your repository.
|
|
103
|
+
*/
|
|
104
|
+
async hover(pageName, elementName) {
|
|
105
|
+
console.log(`[Step] -> Hovering over '${elementName}' in '${pageName}'`);
|
|
106
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
107
|
+
await this.interact.hover(locator);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Retrieves an element and scrolls it into view if it is not already visible.
|
|
111
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
112
|
+
* @param elementName - The specific element name in your repository.
|
|
113
|
+
*/
|
|
114
|
+
async scrollIntoView(pageName, elementName) {
|
|
115
|
+
console.log(`[Step] -> Scrolling '${elementName}' in '${pageName}' into view`);
|
|
116
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
117
|
+
await this.interact.scrollIntoView(locator);
|
|
118
|
+
}
|
|
83
119
|
/**
|
|
84
120
|
* Retrieves an input field and fills it with the provided text, replacing any existing value.
|
|
85
|
-
*
|
|
121
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
86
122
|
* @param elementName - The specific element name in your repository.
|
|
87
123
|
* @param text - The text to type into the input field.
|
|
88
124
|
*/
|
|
@@ -93,7 +129,7 @@ class Steps {
|
|
|
93
129
|
}
|
|
94
130
|
/**
|
|
95
131
|
* Retrieves an input element of type `file` and sets its files.
|
|
96
|
-
*
|
|
132
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
97
133
|
* @param elementName - The specific element name in your repository.
|
|
98
134
|
* @param filePath - The local file path of the file to be uploaded.
|
|
99
135
|
*/
|
|
@@ -105,7 +141,7 @@ class Steps {
|
|
|
105
141
|
/**
|
|
106
142
|
* Retrieves a `<select>` dropdown element and selects an option based on the provided strategy.
|
|
107
143
|
* Defaults to selecting a random, non-disabled option if no strategy is specified.
|
|
108
|
-
*
|
|
144
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
109
145
|
* @param elementName - The specific element name in your repository.
|
|
110
146
|
* @param options - Configuration specifying whether to select by 'random', 'index', or 'value'.
|
|
111
147
|
* @returns The exact value attribute of the selected option.
|
|
@@ -116,12 +152,60 @@ class Steps {
|
|
|
116
152
|
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
117
153
|
return await this.interact.selectDropdown(locator, options);
|
|
118
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Drags an element either to a specified target element, a target element with an offset, or by a coordinate offset.
|
|
157
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
158
|
+
* @param elementName - The specific element name in your repository (the element to drag).
|
|
159
|
+
* @param options - Configuration specifying a 'targetLocator', offsets, or both.
|
|
160
|
+
*/
|
|
161
|
+
async dragAndDrop(pageName, elementName, options) {
|
|
162
|
+
console.log(`[Step] -> Dragging and dropping '${elementName}' in '${pageName}'`);
|
|
163
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
164
|
+
await this.interact.dragAndDrop(locator, options);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Drags an element either to a specified target element, a target element with an offset, or by a coordinate offset.
|
|
168
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
169
|
+
* @param elementName - The specific element name in your repository (the element to drag).
|
|
170
|
+
* @param options - Configuration specifying a 'targetLocator', offsets, or both.
|
|
171
|
+
*/
|
|
172
|
+
async dragAndDropListedElement(pageName, elementName, elementText, options) {
|
|
173
|
+
console.log(`[Step] -> Dragging and dropping '${elementText}' in '${pageName}'`);
|
|
174
|
+
const locator = await this.repo.getByText(this.page, pageName, elementName, elementText);
|
|
175
|
+
await this.interact.dragAndDrop(locator, options);
|
|
176
|
+
}
|
|
177
|
+
// ==========================================
|
|
178
|
+
// 📊 DATA EXTRACTION STEPS
|
|
179
|
+
// ==========================================
|
|
180
|
+
/**
|
|
181
|
+
* Safely retrieves and trims the text content of a specified element.
|
|
182
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
183
|
+
* @param elementName - The specific element name in your repository.
|
|
184
|
+
* @returns The trimmed string, or an empty string if null.
|
|
185
|
+
*/
|
|
186
|
+
async getText(pageName, elementName) {
|
|
187
|
+
console.log(`[Step] -> Getting text from '${elementName}' in '${pageName}'`);
|
|
188
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
189
|
+
return await this.extract.getText(locator);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Retrieves the value of a specified attribute (e.g., 'href', 'aria-pressed') from an element.
|
|
193
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
194
|
+
* @param elementName - The specific element name in your repository.
|
|
195
|
+
* @param attributeName - The name of the attribute to retrieve.
|
|
196
|
+
* @returns The attribute value as a string, or null if it doesn't exist.
|
|
197
|
+
*/
|
|
198
|
+
async getAttribute(pageName, elementName, attributeName) {
|
|
199
|
+
console.log(`[Step] -> Getting attribute '${attributeName}' from '${elementName}' in '${pageName}'`);
|
|
200
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
201
|
+
return await this.extract.getAttribute(locator, attributeName);
|
|
202
|
+
}
|
|
119
203
|
// ==========================================
|
|
120
204
|
// ✅ VERIFICATION STEPS
|
|
121
205
|
// ==========================================
|
|
122
206
|
/**
|
|
123
207
|
* Asserts that a specified element is attached to the DOM and is visible.
|
|
124
|
-
*
|
|
208
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
125
209
|
* @param elementName - The specific element name in your repository.
|
|
126
210
|
*/
|
|
127
211
|
async verifyPresence(pageName, elementName) {
|
|
@@ -131,30 +215,43 @@ class Steps {
|
|
|
131
215
|
}
|
|
132
216
|
/**
|
|
133
217
|
* Asserts that a specified element is hidden or completely detached from the DOM.
|
|
134
|
-
*
|
|
218
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
135
219
|
* @param elementName - The specific element name in your repository.
|
|
136
220
|
*/
|
|
137
221
|
async verifyAbsence(pageName, elementName) {
|
|
138
222
|
console.log(`[Step] -> Verifying absence of '${elementName}' in '${pageName}'`);
|
|
223
|
+
const selector = await this.repo.getSelector(pageName, elementName);
|
|
224
|
+
await this.verify.absence(selector);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Asserts that the specified element exactly matches the expected text, or optionally checks if it is not empty.
|
|
228
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
229
|
+
* @param elementName - The specific element name in your repository.
|
|
230
|
+
* @param expectedText - The exact string expected inside the element (optional if checking 'notEmpty').
|
|
231
|
+
* @param options - Configuration to alter the verification behavior.
|
|
232
|
+
*/
|
|
233
|
+
async verifyText(pageName, elementName, expectedText, options) {
|
|
234
|
+
const logDetail = options?.notEmpty ? `is not empty` : `matches: "${expectedText}"`;
|
|
235
|
+
console.log(`[Step] -> Verifying text of '${elementName}' in '${pageName}' ${logDetail}`);
|
|
139
236
|
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
140
|
-
await this.verify.
|
|
237
|
+
await this.verify.text(locator, expectedText, options);
|
|
141
238
|
}
|
|
142
239
|
/**
|
|
143
|
-
* Asserts
|
|
144
|
-
*
|
|
240
|
+
* Asserts the number of elements matching the locator based on the provided conditions.
|
|
241
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
145
242
|
* @param elementName - The specific element name in your repository.
|
|
146
|
-
* @param
|
|
243
|
+
* @param options - Configuration specifying 'exact', 'greaterThan', or 'lessThan' logic.
|
|
147
244
|
*/
|
|
148
|
-
async
|
|
149
|
-
console.log(`[Step] -> Verifying
|
|
245
|
+
async verifyCount(pageName, elementName, options) {
|
|
246
|
+
console.log(`[Step] -> Verifying count for '${elementName}' in '${pageName}' with options: ${JSON.stringify(options)}`);
|
|
150
247
|
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
151
|
-
await this.verify.
|
|
248
|
+
await this.verify.count(locator, options);
|
|
152
249
|
}
|
|
153
250
|
/**
|
|
154
251
|
* Performs a rigorous verification of one or more images.
|
|
155
252
|
* Asserts visibility, checks for a valid 'src' attribute, ensures a positive 'naturalWidth',
|
|
156
253
|
* and evaluates the native browser `decode()` promise to ensure the image isn't broken.
|
|
157
|
-
*
|
|
254
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
158
255
|
* @param elementName - The specific element name in your repository.
|
|
159
256
|
* @param scroll - Whether to smoothly scroll the image(s) into view before verifying (default: true).
|
|
160
257
|
*/
|
|
@@ -165,11 +262,22 @@ class Steps {
|
|
|
165
262
|
}
|
|
166
263
|
/**
|
|
167
264
|
* Asserts that the current browser URL contains the expected substring.
|
|
168
|
-
*
|
|
265
|
+
* @param text - The substring expected to be present within the active URL.
|
|
169
266
|
*/
|
|
170
267
|
async verifyUrlContains(text) {
|
|
171
268
|
console.log(`[Step] -> Verifying current URL contains: "${text}"`);
|
|
172
269
|
await this.verify.urlContains(text);
|
|
173
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Waits for an element to reach a specific state in the DOM.
|
|
273
|
+
* @param pageName - The page or component grouping name in your repository.
|
|
274
|
+
* @param elementName - The specific element name in your repository.
|
|
275
|
+
* @param state - The state to wait for: 'visible' | 'attached' | 'hidden' | 'detached'. Defaults to 'visible'.
|
|
276
|
+
*/
|
|
277
|
+
async waitForState(pageName, elementName, state = 'visible') {
|
|
278
|
+
console.log(`[Step] -> Waiting for '${elementName}' in '${pageName}' to be '${state}'`);
|
|
279
|
+
const locator = await this.repo.get(this.page, pageName, elementName);
|
|
280
|
+
await this.utils.waitForState(locator, state);
|
|
281
|
+
}
|
|
174
282
|
}
|
|
175
283
|
exports.Steps = Steps;
|
|
@@ -7,19 +7,15 @@ class DateUtilities {
|
|
|
7
7
|
* Mirrors the Java DateUtilities.reformatDateString method.
|
|
8
8
|
*/
|
|
9
9
|
static reformatDateString(rawDate, format) {
|
|
10
|
-
// Parse the raw date string into a JS Date object
|
|
11
10
|
const date = new Date(rawDate);
|
|
12
|
-
// Guard clause: Check if the date is valid before formatting
|
|
13
11
|
if (isNaN(date.getTime())) {
|
|
14
12
|
throw new Error(`Invalid date string provided: ${rawDate}`);
|
|
15
13
|
}
|
|
16
14
|
const yyyy = date.getFullYear().toString();
|
|
17
15
|
const MM = String(date.getMonth() + 1).padStart(2, '0');
|
|
18
16
|
const dd = String(date.getDate()).padStart(2, '0');
|
|
19
|
-
// Unpadded variables for single-digit months/days
|
|
20
17
|
const M = String(date.getMonth() + 1);
|
|
21
18
|
const d = String(date.getDate());
|
|
22
|
-
// You can expand this switch/if statement as your framework's formatting needs grow
|
|
23
19
|
switch (format) {
|
|
24
20
|
case 'yyyy-MM-dd':
|
|
25
21
|
return `${yyyy}-${MM}-${dd}`;
|
|
@@ -28,7 +24,7 @@ class DateUtilities {
|
|
|
28
24
|
case 'dd MMM yyyy':
|
|
29
25
|
const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
30
26
|
return `${dd} ${monthNames[date.getMonth()]} ${yyyy}`;
|
|
31
|
-
case 'yyyy-M-d':
|
|
27
|
+
case 'yyyy-M-d':
|
|
32
28
|
return `${yyyy}-${M}-${d}`;
|
|
33
29
|
default:
|
|
34
30
|
console.warn(`Format ${format} not fully supported, returning ISO date.`);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Locator } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Utility class to handle standardized waiting logic across the framework.
|
|
4
|
+
*/
|
|
5
|
+
export declare class Utils {
|
|
6
|
+
private readonly timeout;
|
|
7
|
+
/**
|
|
8
|
+
* @param timeout - Optional timeout in milliseconds. Defaults to 30000.
|
|
9
|
+
*/
|
|
10
|
+
constructor(timeout?: number);
|
|
11
|
+
/**
|
|
12
|
+
* Returns the current timeout value.
|
|
13
|
+
*/
|
|
14
|
+
getTimeout(): number;
|
|
15
|
+
/**
|
|
16
|
+
* Standardized wait logic for element states.
|
|
17
|
+
* Does not fail the test on timeout; logs a warning instead.
|
|
18
|
+
* @param locator - The Playwright Locator.
|
|
19
|
+
* @param state - The state to wait for.
|
|
20
|
+
*/
|
|
21
|
+
waitForState(locator: Locator, state?: 'visible' | 'attached' | 'hidden' | 'detached'): Promise<void>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Utils = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Utility class to handle standardized waiting logic across the framework.
|
|
6
|
+
*/
|
|
7
|
+
class Utils {
|
|
8
|
+
timeout;
|
|
9
|
+
/**
|
|
10
|
+
* @param timeout - Optional timeout in milliseconds. Defaults to 30000.
|
|
11
|
+
*/
|
|
12
|
+
constructor(timeout = 30000) {
|
|
13
|
+
this.timeout = timeout;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns the current timeout value.
|
|
17
|
+
*/
|
|
18
|
+
getTimeout() {
|
|
19
|
+
return this.timeout;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Standardized wait logic for element states.
|
|
23
|
+
* Does not fail the test on timeout; logs a warning instead.
|
|
24
|
+
* @param locator - The Playwright Locator.
|
|
25
|
+
* @param state - The state to wait for.
|
|
26
|
+
*/
|
|
27
|
+
async waitForState(locator, state = 'visible') {
|
|
28
|
+
try {
|
|
29
|
+
await locator.waitFor({ state, timeout: this.timeout });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.warn(`[Warning] -> Element failed to reach state '${state}' within ${this.timeout}ms. Proceeding...`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.Utils = Utils;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pw-element-interactions",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "A robust, readable interaction and assertion Facade for Playwright. Abstract away boilerplate into semantic, English-like methods, making your test automation framework cleaner, easier to maintain, and accessible to non-developers.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"pw-element-repository": ">=0.0.3"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
+
"@civitas-cerebrum/context-store": "^0.0.2",
|
|
21
22
|
"@playwright/test": "^1.58.2",
|
|
22
23
|
"@types/node": "^20.0.0",
|
|
23
24
|
"pw-element-repository": "^0.0.3",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Page } from '@playwright/test';
|
|
2
|
-
import { Interactions } from './interactions/Interaction';
|
|
3
|
-
import { Navigation } from './interactions/Navigation';
|
|
4
|
-
import { Verifications } from './interactions/Verification';
|
|
5
|
-
export declare class ElementInteractions {
|
|
6
|
-
navigate: Navigation;
|
|
7
|
-
interact: Interactions;
|
|
8
|
-
verify: Verifications;
|
|
9
|
-
constructor(page: Page);
|
|
10
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ElementInteractions = void 0;
|
|
4
|
-
const Interaction_1 = require("./interactions/Interaction");
|
|
5
|
-
const Navigation_1 = require("./interactions/Navigation");
|
|
6
|
-
const Verification_1 = require("./interactions/Verification");
|
|
7
|
-
class ElementInteractions {
|
|
8
|
-
navigate;
|
|
9
|
-
interact;
|
|
10
|
-
verify;
|
|
11
|
-
constructor(page) {
|
|
12
|
-
this.navigate = new Navigation_1.Navigation(page);
|
|
13
|
-
this.interact = new Interaction_1.Interactions(page);
|
|
14
|
-
this.verify = new Verification_1.Verifications(page);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.ElementInteractions = ElementInteractions;
|