artes 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/README.md +330 -0
- package/cucumber.config.js +98 -0
- package/executer.js +45 -0
- package/functionDefinitions.md +2065 -0
- package/index.js +33 -0
- package/package.json +35 -0
- package/src/helper/contextManager/browserManager.js +44 -0
- package/src/helper/contextManager/requestManager.js +10 -0
- package/src/helper/executers/cleaner.js +27 -0
- package/src/helper/executers/helper.js +32 -0
- package/src/helper/executers/projectCreator.js +152 -0
- package/src/helper/executers/reportGenerator.js +36 -0
- package/src/helper/executers/testRunner.js +35 -0
- package/src/helper/executers/versionChecker.js +13 -0
- package/src/helper/imports/commons.js +36 -0
- package/src/helper/pomController/elementController.js +24 -0
- package/src/helper/pomController/pomCollector.js +18 -0
- package/src/helper/stepFunctions/actionCommons.js +15 -0
- package/src/helper/stepFunctions/assertions.js +421 -0
- package/src/helper/stepFunctions/elementInteractions.js +38 -0
- package/src/helper/stepFunctions/frameActions.js +50 -0
- package/src/helper/stepFunctions/keyboardActions.js +29 -0
- package/src/helper/stepFunctions/mouseActions.js +97 -0
- package/src/helper/stepFunctions/pageActions.js +14 -0
- package/src/hooks/context.js +12 -0
- package/src/hooks/hooks.js +53 -0
- package/src/tests/stepDefinitions/assertions.steps.js +769 -0
- package/src/tests/stepDefinitions/frameActions.steps.js +76 -0
- package/src/tests/stepDefinitions/keyboardActions.steps.js +72 -0
- package/src/tests/stepDefinitions/mouseActions.steps.js +224 -0
- package/src/tests/stepDefinitions/page.steps.js +30 -0
- package/stepDefinitions.md +267 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const { When } = require("../../helper/imports/commons");
|
|
2
|
+
const { frame } = require("../../helper/stepFunctions/actionCommons");
|
|
3
|
+
|
|
4
|
+
// User takes a screenshot of a specific selector
|
|
5
|
+
When("User takes a screenshot of {string}", async function (selector) {
|
|
6
|
+
await frame.screenshot(selector);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// User gets the content frame of a specific selector
|
|
10
|
+
When("User gets the content frame of {string}", async function (selector) {
|
|
11
|
+
await frame.contentFrame(selector);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// User gets the frame locator of a specific selector
|
|
15
|
+
When("User gets the frame locator of {string}", async function (selector) {
|
|
16
|
+
await frame.frameLocator(selector);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
// User gets the nth element of a specific selector
|
|
20
|
+
When(
|
|
21
|
+
"User gets the {int}th element of {string}",
|
|
22
|
+
async function (index, selector) {
|
|
23
|
+
await frame.nth(selector, index);
|
|
24
|
+
},
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
// User gets the first element of a specific selector
|
|
28
|
+
When("User gets the first element of {string}", async function (selector) {
|
|
29
|
+
await frame.first(selector);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// User gets the last element of a specific selector
|
|
33
|
+
When("User gets the last element of {string}", async function (selector) {
|
|
34
|
+
await frame.last(selector);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// User filters elements of a specific selector
|
|
38
|
+
When(
|
|
39
|
+
"User filters elements of {string} with filter {string}",
|
|
40
|
+
async function (selector, filter) {
|
|
41
|
+
await frame.filter(selector, filter);
|
|
42
|
+
},
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// User counts the number of elements of a specific selector
|
|
46
|
+
When("User counts the elements of {string}", async function (selector) {
|
|
47
|
+
await frame.count(selector);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// User gets an element by its alt text
|
|
51
|
+
When("User gets the element with alt text {string}", async function (text) {
|
|
52
|
+
await frame.getByAltText(text);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// User gets an element by its label
|
|
56
|
+
When("User gets the element with label {string}", async function (label) {
|
|
57
|
+
await frame.getByLabel(label);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// User gets an element by its placeholder
|
|
61
|
+
When(
|
|
62
|
+
"User gets the element with placeholder {string}",
|
|
63
|
+
async function (placeholder) {
|
|
64
|
+
await frame.getByPlaceholder(placeholder);
|
|
65
|
+
},
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
// User gets an element by its role
|
|
69
|
+
When("User gets the element with role {string}", async function (role) {
|
|
70
|
+
await frame.getByRole(role);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// User gets an element by its testId
|
|
74
|
+
When("User gets the element with testId {string}", async function (testId) {
|
|
75
|
+
await frame.getByTestId(testId);
|
|
76
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const { When } = require("../../helper/imports/commons");
|
|
2
|
+
const { keyboard } = require("../../helper/stepFunctions/actionCommons");
|
|
3
|
+
|
|
4
|
+
// User presses a key on a specific selector
|
|
5
|
+
When("User presses {string} on {string}", async function (key, selector) {
|
|
6
|
+
await keyboard.press(selector, key);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// User presses keys sequentially on a specific selector
|
|
10
|
+
When(
|
|
11
|
+
"User presses keys {string} sequentially on {string}",
|
|
12
|
+
async function (keys, selector) {
|
|
13
|
+
await keyboard.pressSequentially(selector, keys);
|
|
14
|
+
},
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
// User presses keys sequentially with a delay on a specific selector
|
|
18
|
+
When(
|
|
19
|
+
"User presses keys {string} sequentially with delay {int} on {string}",
|
|
20
|
+
async function (keys, delay, selector) {
|
|
21
|
+
await keyboard.pressSequentiallyDelay(selector, keys, delay);
|
|
22
|
+
},
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
// User fills a value into a specific selector
|
|
26
|
+
When("User types {string} in {string}", async function (value, selector) {
|
|
27
|
+
await keyboard.fill(selector, value);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// User clears the input of a specific selector
|
|
31
|
+
When("User clears {string}", async function (selector) {
|
|
32
|
+
await keyboard.clear(selector);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// User selects text in a specific selector
|
|
36
|
+
When("User selects text in {string}", async function (selector) {
|
|
37
|
+
await keyboard.selectText(selector);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// User sets input files for a specific selector
|
|
41
|
+
When(
|
|
42
|
+
"User sets input files {string} for {string}",
|
|
43
|
+
async function (files, selector) {
|
|
44
|
+
const fileArray = files.split(","); // Assuming files are comma-separated
|
|
45
|
+
await keyboard.setInputFiles(selector, fileArray);
|
|
46
|
+
},
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
// User presses a key down
|
|
50
|
+
When("User holds down {string}", async function (key) {
|
|
51
|
+
await keyboard.keyDown(key);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// User releases a key
|
|
55
|
+
When("User releases {string}", async function (key) {
|
|
56
|
+
await keyboard.keyUp(key);
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// User inserts text
|
|
60
|
+
When("User inserts text {string}", async function (text) {
|
|
61
|
+
await keyboard.insertText(text);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// User presses a key
|
|
65
|
+
When("User presses {string}", async function (key) {
|
|
66
|
+
await keyboard.keyboardPress(key);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// User types a key with a delay
|
|
70
|
+
When("User types {string} with delay {int}", async function (key, delay) {
|
|
71
|
+
await keyboard.keyboardType(key, delay);
|
|
72
|
+
});
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
const { When } = require("../../helper/imports/commons");
|
|
2
|
+
const { mouse } = require("../../helper/stepFunctions/actionCommons");
|
|
3
|
+
|
|
4
|
+
// User clicks on a selector
|
|
5
|
+
When("User clicks {string}", async function (selector) {
|
|
6
|
+
await mouse.click(selector);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// User clicks on a selector with force
|
|
10
|
+
When("User clicks {string} with force", async function (selector) {
|
|
11
|
+
await mouse.click(selector, true);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// User clicks on a selector at a specific position
|
|
15
|
+
When(
|
|
16
|
+
"User clicks {string} at {int}, {int} position",
|
|
17
|
+
async function (selector, x, y) {
|
|
18
|
+
await mouse.clickPosition(selector, x, y);
|
|
19
|
+
},
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
// User clicks on a selector at a specific position with force
|
|
23
|
+
When(
|
|
24
|
+
"User clicks {string} at {int}, {int} position with force",
|
|
25
|
+
async function (selector, x, y) {
|
|
26
|
+
await mouse.clickPosition(selector, x, y, true);
|
|
27
|
+
},
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
// User clicks at specific coordinates
|
|
31
|
+
When("User clicks at {int}, {int} coordinates", async function (x, y) {
|
|
32
|
+
await mouse.mouseClickPosition(x, y);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// User clicks at specific coordinates with click count and delay
|
|
36
|
+
When(
|
|
37
|
+
"User clicks at {int}, {int} coordinates with click count {int} and delay {int}",
|
|
38
|
+
async function (x, y, clickCount, delay) {
|
|
39
|
+
await mouse.mouseClickPosition(x, y, clickCount, delay);
|
|
40
|
+
},
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
// User clicks at specific coordinates with force
|
|
44
|
+
When(
|
|
45
|
+
"User clicks at {int}, {int} coordinates with force",
|
|
46
|
+
async function (x, y) {
|
|
47
|
+
await mouse.mouseClickPosition(x, y, 1, 0, true); // Defaulting clickCount and delay
|
|
48
|
+
},
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
// User clicks on a selector with a specific mouse button
|
|
52
|
+
When(
|
|
53
|
+
"User clicks {string} with button {string}",
|
|
54
|
+
async function (selector, button) {
|
|
55
|
+
await mouse.clickByBtn(selector, button);
|
|
56
|
+
},
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
// User clicks on a selector with a specific mouse button and force
|
|
60
|
+
When(
|
|
61
|
+
"User clicks {string} with button {string} and force",
|
|
62
|
+
async function (selector, button) {
|
|
63
|
+
await mouse.clickByBtn(selector, button, true);
|
|
64
|
+
},
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
// User double clicks on a selector
|
|
68
|
+
When("User double clicks {string}", async function (selector) {
|
|
69
|
+
await mouse.doubleClick(selector);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// User double clicks on a selector with force
|
|
73
|
+
When("User double clicks {string} with force", async function (selector) {
|
|
74
|
+
await mouse.doubleClick(selector, true);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// User double clicks on a selector at a specific position
|
|
78
|
+
When(
|
|
79
|
+
"User double clicks {string} at {int}, {int} position",
|
|
80
|
+
async function (selector, x, y) {
|
|
81
|
+
await mouse.doubleClickPosition(selector, x, y);
|
|
82
|
+
},
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
// User double clicks on a selector at a specific position with force
|
|
86
|
+
When(
|
|
87
|
+
"User double clicks {string} at {int}, {int} position with force",
|
|
88
|
+
async function (selector, x, y) {
|
|
89
|
+
await mouse.doubleClickPosition(selector, x, y, true);
|
|
90
|
+
},
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
// User double clicks at specific coordinates
|
|
94
|
+
When("User double clicks at {int}, {int} coordinates", async function (x, y) {
|
|
95
|
+
await mouse.mouseDoubleClickPosition(x, y);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// User double clicks at specific coordinates with click count and delay
|
|
99
|
+
When(
|
|
100
|
+
"User double clicks at {int}, {int} coordinates with click count {int} and delay {int}",
|
|
101
|
+
async function (x, y, clickCount, delay) {
|
|
102
|
+
await mouse.mouseDoubleClickPosition(x, y, clickCount, delay);
|
|
103
|
+
},
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
// User double clicks at specific coordinates with force
|
|
107
|
+
When(
|
|
108
|
+
"User double clicks at {int}, {int} coordinates with force",
|
|
109
|
+
async function (x, y) {
|
|
110
|
+
await mouse.mouseDoubleClickPosition(x, y, 1, 0, true); // Defaulting clickCount and delay
|
|
111
|
+
},
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
// User moves the mouse to specific coordinates
|
|
115
|
+
When("User moves to {int}, {int} coordinates", async function (x, y) {
|
|
116
|
+
await mouse.move(x, y);
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
// User scrolls the mouse wheel at specific coordinates
|
|
120
|
+
When(
|
|
121
|
+
"User scrolls the mouse wheel at {int}, {int} coordinates",
|
|
122
|
+
async function (x, y) {
|
|
123
|
+
await mouse.wheel(x, y);
|
|
124
|
+
},
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
// User hovers over a selector
|
|
128
|
+
When("User hovers over {string}", async function (selector) {
|
|
129
|
+
await mouse.hover(selector);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// User hovers over a selector with force
|
|
133
|
+
When("User hovers over {string} with force", async function (selector) {
|
|
134
|
+
await mouse.hover(selector, true);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// User hovers over a selector at a specific position
|
|
138
|
+
When(
|
|
139
|
+
"User hovers over {string} at {int}, {int} position",
|
|
140
|
+
async function (selector, x, y) {
|
|
141
|
+
await mouse.hoverPosition(selector, x, y);
|
|
142
|
+
},
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// User hovers over a selector at a specific position with force
|
|
146
|
+
When(
|
|
147
|
+
"User hovers over {string} at {int}, {int} position with force",
|
|
148
|
+
async function (selector, x, y) {
|
|
149
|
+
await mouse.hoverPosition(selector, x, y, true);
|
|
150
|
+
},
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
// User focuses on a selector
|
|
154
|
+
When("User focuses on {string}", async function (selector) {
|
|
155
|
+
await mouse.focus(selector);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// User focuses on a selector with force
|
|
159
|
+
When("User focuses on {string} with force", async function (selector) {
|
|
160
|
+
await mouse.focus(selector, true);
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
// User focuses on a selector at a specific position
|
|
164
|
+
When(
|
|
165
|
+
"User focuses on {string} at {int}, {int} position",
|
|
166
|
+
async function (selector, x, y) {
|
|
167
|
+
await mouse.focusPosition(selector, x, y);
|
|
168
|
+
},
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
// User focuses on a selector at a specific position with force
|
|
172
|
+
When(
|
|
173
|
+
"User focuses on {string} at {int}, {int} position with force",
|
|
174
|
+
async function (selector, x, y) {
|
|
175
|
+
await mouse.focusPosition(selector, x, y, true);
|
|
176
|
+
},
|
|
177
|
+
);
|
|
178
|
+
|
|
179
|
+
// User drags an element from one selector to another
|
|
180
|
+
When(
|
|
181
|
+
"User drags {string} to {string}",
|
|
182
|
+
async function (sourceSelector, targetSelector) {
|
|
183
|
+
await mouse.dragAndDrop(sourceSelector, targetSelector);
|
|
184
|
+
},
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
// User drags an element to a specific position
|
|
188
|
+
When(
|
|
189
|
+
"User drags {string} to {int}, {int} position",
|
|
190
|
+
async function (sourceSelector, x, y) {
|
|
191
|
+
await mouse.dragAndDropPosition(sourceSelector, x, y);
|
|
192
|
+
},
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
// User selects options by value
|
|
196
|
+
When(
|
|
197
|
+
"User selects by value {string} from {string}",
|
|
198
|
+
async function (value, selector) {
|
|
199
|
+
await mouse.selectByValue(selector, value);
|
|
200
|
+
},
|
|
201
|
+
);
|
|
202
|
+
|
|
203
|
+
// User selects an option by text
|
|
204
|
+
When(
|
|
205
|
+
"User selects by text {string} from {string}",
|
|
206
|
+
async function (text, selector) {
|
|
207
|
+
await mouse.selectByText(selector, text);
|
|
208
|
+
},
|
|
209
|
+
);
|
|
210
|
+
|
|
211
|
+
// User checks a checkbox or radio button
|
|
212
|
+
When("User checks {string}", async function (selector) {
|
|
213
|
+
await mouse.check(selector);
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// User unchecks a checkbox or radio button
|
|
217
|
+
When("User unchecks {string}", async function (selector) {
|
|
218
|
+
await mouse.uncheck(selector);
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
// User scrolls into view if needed for a selector
|
|
222
|
+
When("User scrolls {string} into view", async function (selector) {
|
|
223
|
+
await mouse.scrollIntoViewIfNeeded(selector);
|
|
224
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const { When, context } = require("../../helper/imports/commons");
|
|
2
|
+
const { page } = require("../../helper/stepFunctions/actionCommons");
|
|
3
|
+
|
|
4
|
+
When("User navigates to {string} page", async function (url) {
|
|
5
|
+
await page.navigateTo(url);
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
// When("User is on {string} page", async function (url) {
|
|
9
|
+
// await page.navigateTo(url);
|
|
10
|
+
// });
|
|
11
|
+
|
|
12
|
+
When("User gets URL of page", async function () {
|
|
13
|
+
await page.getURL();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
When("User gets URL of page", async function () {
|
|
17
|
+
await page.getURL();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
When(`User waits {int} seconds`, async (sec) => {
|
|
21
|
+
await context.page.waitForTimeout(sec * 1000);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
When(`User waits {int} milliseconds`, async (sec) => {
|
|
25
|
+
await context.page.waitForTimeout(sec);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
When(`User waits {int} minutes`, async (sec) => {
|
|
29
|
+
await context.page.waitForTimeout(sec * 1000 * 60);
|
|
30
|
+
});
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# Step Definitions
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
- [Mouse Actions](#mouse-actions)
|
|
6
|
+
- [Keyboard Actions](#keyboard-actions)
|
|
7
|
+
- [Page Actions](#page-actions)
|
|
8
|
+
- [Frame Actions](#frame-actions)
|
|
9
|
+
- [Assertions](#assertions)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Mouse Actions
|
|
14
|
+
|
|
15
|
+
### Click Actions
|
|
16
|
+
|
|
17
|
+
- User clicks `{string}`
|
|
18
|
+
- User clicks `{string}` with force
|
|
19
|
+
- User clicks `{string}` at `{int}, {int}` position
|
|
20
|
+
- User clicks `{string}` at `{int}, {int}` position with force
|
|
21
|
+
- User clicks at `{int}, {int}` coordinates
|
|
22
|
+
- User clicks at `{int}, {int}` coordinates with click count `{int}` and delay `{int}`
|
|
23
|
+
- User clicks at `{int}, {int}` coordinates with force
|
|
24
|
+
- User clicks `{string}` with button `{string}`
|
|
25
|
+
- User clicks `{string}` with button `{string}` and force
|
|
26
|
+
|
|
27
|
+
### Double Click Actions
|
|
28
|
+
|
|
29
|
+
- User double clicks `{string}`
|
|
30
|
+
- User double clicks `{string}` with force
|
|
31
|
+
- User double clicks `{string}` at `{int}, {int}` position
|
|
32
|
+
- User double clicks `{string}` at `{int}, {int}` position with force
|
|
33
|
+
- User double clicks at `{int}, {int}` coordinates
|
|
34
|
+
- User double clicks at `{int}, {int}` coordinates with click count `{int}` and delay `{int}`
|
|
35
|
+
- User double clicks at `{int}, {int}` coordinates with force
|
|
36
|
+
|
|
37
|
+
### Mouse Movement Actions
|
|
38
|
+
|
|
39
|
+
- User moves to `{int}, {int}` coordinates
|
|
40
|
+
- User scrolls the mouse wheel at `{int}, {int}` coordinates
|
|
41
|
+
|
|
42
|
+
### Hover Actions
|
|
43
|
+
|
|
44
|
+
- User hovers over `{string}`
|
|
45
|
+
- User hovers over `{string}` with force
|
|
46
|
+
- User hovers over `{string}` at `{int}, {int}` position
|
|
47
|
+
- User hovers over `{string}` at `{int}, {int}` position with force
|
|
48
|
+
|
|
49
|
+
### Focus Actions
|
|
50
|
+
|
|
51
|
+
- User focuses on `{string}`
|
|
52
|
+
- User focuses on `{string}` with force
|
|
53
|
+
- User focuses on `{string}` at `{int}, {int}` position
|
|
54
|
+
- User focuses on `{string}` at `{int}, {int}` position with force
|
|
55
|
+
|
|
56
|
+
### Drag Actions
|
|
57
|
+
|
|
58
|
+
- User drags `{string}` to `{string}`
|
|
59
|
+
- User drags `{string}` to `{int}, {int}` position
|
|
60
|
+
|
|
61
|
+
### Selection Actions
|
|
62
|
+
|
|
63
|
+
- User selects by value `{string}` from `{string}`
|
|
64
|
+
- User selects by text `{string}` from `{string}`
|
|
65
|
+
|
|
66
|
+
### Checkbox Actions
|
|
67
|
+
|
|
68
|
+
- User checks `{string}`
|
|
69
|
+
- User unchecks `{string}`
|
|
70
|
+
|
|
71
|
+
### Scroll Actions
|
|
72
|
+
|
|
73
|
+
- User scrolls into view for `{string}`
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Keyboard Actions
|
|
78
|
+
|
|
79
|
+
### Press Actions
|
|
80
|
+
|
|
81
|
+
- User presses `{string} on {string}`
|
|
82
|
+
- User presses keys `{string}` sequentially on `{string}`
|
|
83
|
+
- User presses keys `{string}` sequentially with delay `{int} on {string}`
|
|
84
|
+
|
|
85
|
+
### Input Actions
|
|
86
|
+
|
|
87
|
+
- User types `{string}` in `{string}`
|
|
88
|
+
- User types `{string}` with delay `{int}`
|
|
89
|
+
- User inserts text `{string}`
|
|
90
|
+
- User clears `{string}`
|
|
91
|
+
|
|
92
|
+
### Selection Actions
|
|
93
|
+
|
|
94
|
+
- User selects text in `{string}`
|
|
95
|
+
|
|
96
|
+
### File Input Actions
|
|
97
|
+
|
|
98
|
+
- User sets input files `{string}` for `{string}`
|
|
99
|
+
|
|
100
|
+
### Key State Actions
|
|
101
|
+
|
|
102
|
+
- User holds down `{string}`
|
|
103
|
+
- User releases `{string}`
|
|
104
|
+
- User presses `{string}`
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Page Actions
|
|
109
|
+
|
|
110
|
+
### Navigation Actions
|
|
111
|
+
|
|
112
|
+
- User navigates to `{string}` page
|
|
113
|
+
|
|
114
|
+
### URL Actions
|
|
115
|
+
|
|
116
|
+
- User gets URL of page
|
|
117
|
+
|
|
118
|
+
### Wait Actions
|
|
119
|
+
|
|
120
|
+
- User waits `{int}` seconds
|
|
121
|
+
- User waits `{int}` milliseconds
|
|
122
|
+
- User waits `{int}` minutes
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Frame Actions
|
|
127
|
+
|
|
128
|
+
### Screenshot Actions
|
|
129
|
+
|
|
130
|
+
- User takes a screenshot of `{string}`
|
|
131
|
+
|
|
132
|
+
### Content and Locator Actions
|
|
133
|
+
|
|
134
|
+
- User gets the content frame of `{string}`
|
|
135
|
+
- User gets the frame locator of `{string}`
|
|
136
|
+
|
|
137
|
+
### Element Retrieval Actions
|
|
138
|
+
|
|
139
|
+
- User gets the `{int}th` element of `{string}`
|
|
140
|
+
- User gets the first element of `{string}`
|
|
141
|
+
- User gets the last element of `{string}`
|
|
142
|
+
- User filters elements of `{string}` with filter `{string}`
|
|
143
|
+
|
|
144
|
+
### Counting Actions
|
|
145
|
+
|
|
146
|
+
- User counts the elements of `{string}`
|
|
147
|
+
|
|
148
|
+
### Accessibility-Based Retrieval Actions
|
|
149
|
+
|
|
150
|
+
- User gets the element with alt text `{string}`
|
|
151
|
+
- User gets the element with label `{string}`
|
|
152
|
+
- User gets the element with placeholder `{string}`
|
|
153
|
+
- User gets the element with role `{string}`
|
|
154
|
+
- User gets the element with testI `{string}`
|
|
155
|
+
- User gets the element with testII `{string}`
|
|
156
|
+
|
|
157
|
+
## Assertions
|
|
158
|
+
|
|
159
|
+
- User expects `{string}` should be attached
|
|
160
|
+
- User expects `{string}` should be checked
|
|
161
|
+
- User expects `{string}` should be disabled
|
|
162
|
+
- User expects `{string}` should be editable
|
|
163
|
+
- User expects `{string}` should be empty
|
|
164
|
+
- User expects `{string}` should be enabled
|
|
165
|
+
- User expects `{string}` should be focused
|
|
166
|
+
- User expects `{string}` should be hidden
|
|
167
|
+
- User expects `{string}` should be on the screen
|
|
168
|
+
- User expects `{string}` should be visible
|
|
169
|
+
- User expects `{string}` should have `{string}` text
|
|
170
|
+
- User expects `{string}` should have `{string}` description
|
|
171
|
+
- User expects `{string}` should have `{string}` name
|
|
172
|
+
- User expects `{string}` should have `{string}` attribute with `{string}` value
|
|
173
|
+
- User expects `{string}` should have `{string}` class
|
|
174
|
+
- User expects `{string}` should have `{int}` count
|
|
175
|
+
- User expects `{string}` should have `{string}` CSS property with `{string}` value
|
|
176
|
+
- User expects `{string}` should have `{string}` id
|
|
177
|
+
- User expects `{string}` should have `{string}` JavaScript property with `{string}` value
|
|
178
|
+
- User expects `{string}` should have `{string}` role
|
|
179
|
+
- User expects `{string}` should have a screenshot
|
|
180
|
+
- User expects `{string}` should match `{string}` text
|
|
181
|
+
- User expects `{string}` should have `{string}` value
|
|
182
|
+
- User expects `{string}` should have `{string}` values
|
|
183
|
+
- User expects `{string}` should not be attached
|
|
184
|
+
- User expects `{string}` should not be checked
|
|
185
|
+
- User expects `{string}` should not be disabled
|
|
186
|
+
- User expects `{string}` should not be editable
|
|
187
|
+
- User expects `{string}` should not be empty
|
|
188
|
+
- User expects `{string}` should not be enabled
|
|
189
|
+
- User expects `{string}` should not be focused
|
|
190
|
+
- User expects `{string}` should not be hidden
|
|
191
|
+
- User expects `{string}` should not be on screen
|
|
192
|
+
- User expects `{string}` should not be visible
|
|
193
|
+
- User expects `{string}` should not have `{string}` text
|
|
194
|
+
- User expects `{string}` should not have `{string}` description
|
|
195
|
+
- User expects `{string}` should not have `{string}` name
|
|
196
|
+
- User expects `{string}` should not have `{string}` attribute with `{string}` value
|
|
197
|
+
- User expects `{string}` should not have `{string}` class
|
|
198
|
+
- User expects count of `{string}` should not be `{int}`
|
|
199
|
+
- User expects `{string}` should not have `{string}` CSS property with `{string}` value
|
|
200
|
+
- User expects `{string}` should not have `{string}` id
|
|
201
|
+
- User expects `{string}` should not have `{string}` JavaScript property with `{string}` value
|
|
202
|
+
- User expects `{string}` should not have `{string}` role
|
|
203
|
+
- User expects `{string}` should not match `{string}` text
|
|
204
|
+
- User expects `{string}` should not have `{string}` value
|
|
205
|
+
- User expects `{string}` should not have `{string}` values
|
|
206
|
+
- User expects the page should not have a screenshot
|
|
207
|
+
- User expects the page should not have `{string}` title
|
|
208
|
+
- User expects the page url should not be `{string}`
|
|
209
|
+
- User is not on `{string}` page
|
|
210
|
+
- The response should not be OK
|
|
211
|
+
- User expects `{string}` should be `{string}` text
|
|
212
|
+
- User expects `{string}` should be close to `{float}` with precision `{int}`
|
|
213
|
+
- User expects `{string}` should be defined
|
|
214
|
+
- User expects `{string}` should be falsy
|
|
215
|
+
- User expects `{string}` should be greater than `{float}`
|
|
216
|
+
- User expects `{string}` should be greater than or equal to `{float}`
|
|
217
|
+
- User expects `{string}` should be an instance of `{string}`
|
|
218
|
+
- User expects `{string}` should be less than `{float}`
|
|
219
|
+
- User expects `{string}` should be less than or equal to `{float}`
|
|
220
|
+
- User expects `{string}` should be NaN
|
|
221
|
+
- User expects `{string}` should be null
|
|
222
|
+
- User expects `{string}` should be truthy
|
|
223
|
+
- User expects `{string}` should be undefined
|
|
224
|
+
- User expects `{string}` should have `{string}` substring
|
|
225
|
+
- User expects `{string}` should contain equal `{string}`
|
|
226
|
+
- User expects `{string}` should equal `{int}`
|
|
227
|
+
- User expects length of `{string}` should be `{int}`
|
|
228
|
+
- User expects `{string}` should have `{string}` property
|
|
229
|
+
- User expects `{string}` should match `{string}` regex
|
|
230
|
+
- User expects `{string}` should match `{string}` object
|
|
231
|
+
- User expects `{string}` should strictly equal `{string}`
|
|
232
|
+
- The function should throw
|
|
233
|
+
- User expects `{string}` should be any instance of `{string}`
|
|
234
|
+
- User expects `{string}` may be anything
|
|
235
|
+
- User expects `{string}` should contain `{string}` array elements
|
|
236
|
+
- User expects `{string}` should be close to `{float}` with precision `{int}`
|
|
237
|
+
- User expects `{string}` should contain `{string}` object properties
|
|
238
|
+
- User expects `{string}` should have `{string}` substring
|
|
239
|
+
- User expects `{string}` should match `{string}` regex
|
|
240
|
+
- User expects `{string}` should not have `{string}` text
|
|
241
|
+
- User expects `{string}` should not be close to `{float}` with precision `{int}`
|
|
242
|
+
- User expects `{string}` should not be defined
|
|
243
|
+
- User expects `{string}` should not be falsy
|
|
244
|
+
- User expects `{string}` should not be greater than `{float}`
|
|
245
|
+
- User expects `{string}` should not be greater than or equal to `{float}`
|
|
246
|
+
- User expects `{string}` should not be instance of `{string}`
|
|
247
|
+
- User expects `{string}` should not be less than `{float}`
|
|
248
|
+
- User expects `{string}` should not be less than or equal to `{float}`
|
|
249
|
+
- User expects `{string}` should not be NaN
|
|
250
|
+
- User expects `{string}` should not be null
|
|
251
|
+
- User expects `{string}` should not be truthy
|
|
252
|
+
- User expects `{string}` should not be undefined
|
|
253
|
+
- User expects `{string}` should not have `{string}` substring
|
|
254
|
+
- User expects `{string}` should not contain equal `{string}`
|
|
255
|
+
- User expects `{string}` should not equal `{string}`
|
|
256
|
+
- User expects length of `{string}` should not be `{int}`
|
|
257
|
+
- User expects `{string}` should not have `{string}` property
|
|
258
|
+
- User expects `{string}` should not match `{string}` regex
|
|
259
|
+
- User expects `{string}` should not match `{string}` object
|
|
260
|
+
- The function should not throw
|
|
261
|
+
- User expects `{string}` should not be any instance of `{string}`
|
|
262
|
+
- User expects `{string}` may not be anything
|
|
263
|
+
- User expects `{string}` should not contain `{string}` array elements
|
|
264
|
+
- User expects `{string}` should not be close to `{float}` with precision `{int}`
|
|
265
|
+
- User expects `{string}` should not contain `{string}` object properties
|
|
266
|
+
- User expects `{string}` should not contain `{string}` substring
|
|
267
|
+
- User expects `{string}` should not match `{string}` regex
|