craftdriver 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +1 -1
- package/dist/cli/snapshot.js +31 -4
- package/dist/cli/snapshot.js.map +1 -1
- package/dist/lib/browser.d.ts +6 -0
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +6 -0
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/by.d.ts +18 -0
- package/dist/lib/by.d.ts.map +1 -1
- package/dist/lib/by.js +141 -17
- package/dist/lib/by.js.map +1 -1
- package/dist/lib/locator.d.ts +28 -0
- package/dist/lib/locator.d.ts.map +1 -1
- package/dist/lib/locator.js +28 -0
- package/dist/lib/locator.js.map +1 -1
- package/docs/browser-api.md +4 -1
- package/docs/public/examples/a11y.html +44 -0
- package/docs/public/examples/clock.html +83 -0
- package/docs/public/examples/console-errors.html +344 -0
- package/docs/public/examples/dialogs.html +42 -0
- package/docs/public/examples/download.html +31 -0
- package/docs/public/examples/dynamic.html +131 -0
- package/docs/public/examples/emulate.html +127 -0
- package/docs/public/examples/evaluate.html +28 -0
- package/docs/public/examples/hover-select.html +295 -0
- package/docs/public/examples/iframe-child.html +51 -0
- package/docs/public/examples/iframes.html +35 -0
- package/docs/public/examples/keyboard.html +195 -0
- package/docs/public/examples/locator.html +131 -0
- package/docs/public/examples/login.html +116 -0
- package/docs/public/examples/mobile.html +270 -0
- package/docs/public/examples/mouse.html +505 -0
- package/docs/public/examples/network.html +293 -0
- package/docs/public/examples/popup-target.html +26 -0
- package/docs/public/examples/popup.html +50 -0
- package/docs/public/examples/screenshot.html +99 -0
- package/docs/public/examples/selectors.html +150 -0
- package/docs/public/examples/session.html +514 -0
- package/docs/public/examples/upload.html +36 -0
- package/docs/recipes/accessibility-gate.md +24 -40
- package/docs/recipes/console-error-gate.md +29 -38
- package/docs/recipes/file-upload-download.md +26 -43
- package/docs/recipes/find-elements.md +142 -0
- package/docs/recipes/login-once-reuse-session.md +24 -44
- package/docs/recipes/mobile-flow-with-network-and-logs.md +26 -41
- package/docs/recipes/mock-api-and-assert-network.md +22 -35
- package/docs/recipes/multi-user-contexts.md +32 -43
- package/docs/recipes/page-objects.md +52 -0
- package/docs/recipes/trace-failing-test.md +31 -44
- package/docs/recipes/virtual-clock-time-sensitive-ui.md +24 -40
- package/docs/recipes/vitest-browser-lifecycle.md +14 -11
- package/docs/recipes.md +20 -1
- package/docs/selectors.md +291 -229
- package/package.json +5 -1
package/dist/lib/by.js
CHANGED
|
@@ -58,7 +58,9 @@ export class By {
|
|
|
58
58
|
const valueExpr = trim ? normalizeSpaceLiteral(text) : xpStringLiteral(text);
|
|
59
59
|
const left = cs ? nodeExpr : toLower(nodeExpr);
|
|
60
60
|
const right = cs ? valueExpr : toLower(valueExpr);
|
|
61
|
-
|
|
61
|
+
// Prefer the innermost element for symmetry with partialText — a wrapper
|
|
62
|
+
// whose only child carries the same normalized text would otherwise match twice.
|
|
63
|
+
const xpath = `.//*[${left} = ${right} and not(.//*[${left} = ${right}])]`;
|
|
62
64
|
return By.xpath(xpath);
|
|
63
65
|
}
|
|
64
66
|
/**
|
|
@@ -74,56 +76,175 @@ export class By {
|
|
|
74
76
|
const left = cs ? nodeExpr : toLower(nodeExpr);
|
|
75
77
|
const right = cs ? valueExpr : toLower(valueExpr);
|
|
76
78
|
// Prefer the innermost element containing the substring to avoid matching large containers
|
|
77
|
-
const xpath =
|
|
79
|
+
const xpath = `.//*[contains(${left}, ${right}) and not(.//*[contains(${left}, ${right})])]`;
|
|
78
80
|
return By.xpath(xpath);
|
|
79
81
|
}
|
|
80
82
|
// Accessibility-inspired helpers (approximate)
|
|
83
|
+
/**
|
|
84
|
+
* Match elements by ARIA role, resolving **implicit** roles for common native
|
|
85
|
+
* elements — so `role('button')` matches `<button>` and `<input type="submit">`,
|
|
86
|
+
* not only `[role="button"]`.
|
|
87
|
+
*
|
|
88
|
+
* The accessible-name approximation (`opts.name`) checks common sources:
|
|
89
|
+
* `aria-label`, single-id `aria-labelledby`, visible text, associated labels
|
|
90
|
+
* for form controls, `value` (native buttons/inputs), `alt` (images), and
|
|
91
|
+
* `title`. `name` defaults to an exact match; pass `{ exact: false }` for a
|
|
92
|
+
* substring match.
|
|
93
|
+
*
|
|
94
|
+
* Coverage is a documented approximation of the common roles, not the full
|
|
95
|
+
* ARIA algorithm; unmapped roles still match an explicit `role=` attribute.
|
|
96
|
+
*/
|
|
81
97
|
static role(role, opts) {
|
|
82
|
-
|
|
98
|
+
// An element matches the role if it carries role="<role>" OR is a native
|
|
99
|
+
// element whose implicit role is <role>. When an explicit role is present,
|
|
100
|
+
// it overrides the native implicit role for this approximation.
|
|
101
|
+
const roleTests = [roleTokenEquals(role)];
|
|
102
|
+
const implicit = IMPLICIT_ROLE_XPATH[role];
|
|
103
|
+
if (implicit)
|
|
104
|
+
roleTests.push(`(not(normalize-space(@role)) and (${implicit.join(' or ')}))`);
|
|
105
|
+
const conditions = [`(${roleTests.join(' or ')})`];
|
|
106
|
+
// `hidden` / `aria-hidden="true"` on ANY ancestor (not just the element
|
|
107
|
+
// itself) removes the whole subtree from the accessibility tree, so the
|
|
108
|
+
// default guard walks ancestor-or-self. CSS-based hiding (display:none via
|
|
109
|
+
// a stylesheet) is deliberately not covered — XPath can't read computed
|
|
110
|
+
// style — but the Locator's visible-resolution path filters those via the
|
|
111
|
+
// driver's displayedness check.
|
|
83
112
|
const visibleGuard = opts?.includeHidden
|
|
84
113
|
? ''
|
|
85
|
-
: ' and not(@hidden) and not(@aria-hidden="true")';
|
|
114
|
+
: ' and not(ancestor-or-self::*[@hidden]) and not(ancestor-or-self::*[@aria-hidden="true"])';
|
|
86
115
|
if (opts?.name) {
|
|
87
116
|
const nameLit = normalizeSpaceLiteral(opts.name);
|
|
88
117
|
const eq = opts.exact !== false; // default exact
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
118
|
+
// Approximate accessible-name sources, widest-first. This deliberately
|
|
119
|
+
// covers common cases without trying to implement the full AccName spec.
|
|
120
|
+
const candidates = [
|
|
121
|
+
'normalize-space(@aria-label)',
|
|
122
|
+
'normalize-space(.)',
|
|
123
|
+
'normalize-space(@value)',
|
|
124
|
+
'normalize-space(@alt)',
|
|
125
|
+
'normalize-space(@title)',
|
|
126
|
+
];
|
|
127
|
+
const stringPred = candidates
|
|
128
|
+
.map((c) => (eq ? `${c} = ${nameLit}` : `contains(${c}, ${nameLit})`))
|
|
129
|
+
.join(' or ');
|
|
130
|
+
const labelMatch = eq
|
|
131
|
+
? `normalize-space(.) = ${nameLit}`
|
|
132
|
+
: `contains(normalize-space(.), ${nameLit})`;
|
|
133
|
+
const formControl = 'self::input or self::textarea or self::select';
|
|
134
|
+
const labelPred = [
|
|
135
|
+
`@aria-labelledby = //*[${labelMatch}]/@id`,
|
|
136
|
+
`((${formControl}) and @id = //label[${labelMatch}]/@for)`,
|
|
137
|
+
`((${formControl}) and ancestor::label[${labelMatch}])`,
|
|
138
|
+
].join(' or ');
|
|
139
|
+
conditions.push(`(${stringPred} or ${labelPred})`);
|
|
95
140
|
}
|
|
96
|
-
|
|
141
|
+
// Leading `.//` (not `//`) so this stays scoped when used as a child of
|
|
142
|
+
// another Locator/element — a bare `//` is document-root-anchored in XPath
|
|
143
|
+
// regardless of the context node the "Find Element(s) From Element"
|
|
144
|
+
// WebDriver endpoint passes in, which would otherwise search the whole
|
|
145
|
+
// document instead of the parent's subtree.
|
|
146
|
+
const xpath = `.//*[( ${conditions.join(' and ')} )${visibleGuard}]`;
|
|
97
147
|
return By.xpath(xpath);
|
|
98
148
|
}
|
|
99
149
|
static labelText(text, opts) {
|
|
100
150
|
const eq = opts?.exact !== false; // default exact
|
|
101
151
|
const lit = normalizeSpaceLiteral(text);
|
|
102
152
|
const labelMatch = eq ? `normalize-space(.) = ${lit}` : `contains(normalize-space(.), ${lit})`;
|
|
103
|
-
// Inputs referenced by @for, or wrapped controls
|
|
104
|
-
|
|
105
|
-
|
|
153
|
+
// Inputs referenced by @for, or wrapped controls. The outer step of each
|
|
154
|
+
// branch is `.//` so the *returned element* is always scoped to the
|
|
155
|
+
// parent context. The `@for` branch's inner `//label` lookup stays
|
|
156
|
+
// document-rooted on purpose: inside a predicate, `.` rebinds to the
|
|
157
|
+
// candidate `*` node being tested, not the outer scope, so it cannot be
|
|
158
|
+
// scoped without XPath 2.0 variables. In realistic markup the label and
|
|
159
|
+
// its target live in the same container, so this is a narrow, documented
|
|
160
|
+
// approximation rather than the general nested-scope bug.
|
|
161
|
+
const byFor = `.//*[@id=//label[${labelMatch}]/@for]`;
|
|
162
|
+
const wrapped = `.//label[${labelMatch}]//*[self::input or self::textarea or self::select]`;
|
|
106
163
|
return By.xpath(`(${byFor} | ${wrapped})`);
|
|
107
164
|
}
|
|
108
165
|
static placeholder(text, opts) {
|
|
109
166
|
const eq = opts?.exact !== false;
|
|
110
167
|
const lit = xpStringLiteral(text);
|
|
111
168
|
const pred = eq ? `@placeholder = ${lit}` : `contains(@placeholder, ${lit})`;
|
|
112
|
-
return By.xpath(
|
|
169
|
+
return By.xpath(`.//*[(self::input or self::textarea) and ${pred}]`);
|
|
113
170
|
}
|
|
114
171
|
static altText(text, opts) {
|
|
115
172
|
const eq = opts?.exact !== false;
|
|
116
173
|
const lit = xpStringLiteral(text);
|
|
117
174
|
const pred = eq ? `@alt = ${lit}` : `contains(@alt, ${lit})`;
|
|
118
|
-
return By.xpath(
|
|
175
|
+
return By.xpath(`.//*[(self::img or self::area or (self::input and @type='image')) and ${pred}]`);
|
|
119
176
|
}
|
|
120
177
|
static title(text, opts) {
|
|
121
178
|
const eq = opts?.exact !== false;
|
|
122
179
|
const lit = xpStringLiteral(text);
|
|
123
180
|
const pred = eq ? `@title = ${lit}` : `contains(@title, ${lit})`;
|
|
124
|
-
return By.xpath(
|
|
181
|
+
return By.xpath(`.//*[@title and ${pred}]`);
|
|
182
|
+
}
|
|
183
|
+
// Link-text locators — the native W3C "link text" / "partial link text"
|
|
184
|
+
// location strategies, matching Selenium's By.linkText / By.partialLinkText.
|
|
185
|
+
// Unlike the XPath text helpers these match the browser-computed *rendered*
|
|
186
|
+
// text of `<a>` elements (so CSS text-transform is respected), and they
|
|
187
|
+
// scope correctly under a parent element in find-from-element, since the
|
|
188
|
+
// strategy is resolved by the driver rather than as a document-rooted XPath.
|
|
189
|
+
/** Match an `<a>` whose (trimmed) rendered text exactly equals `text`. */
|
|
190
|
+
static linkText(text) {
|
|
191
|
+
return new By('link text', text);
|
|
192
|
+
}
|
|
193
|
+
/** Match an `<a>` whose (trimmed) rendered text contains `text`. */
|
|
194
|
+
static partialLinkText(text) {
|
|
195
|
+
return new By('partial link text', text);
|
|
125
196
|
}
|
|
126
197
|
}
|
|
198
|
+
// True when the candidate has an ancestor that is sectioning content (or
|
|
199
|
+
// carries the explicit-role equivalent) — the condition that strips header/
|
|
200
|
+
// footer of their banner/contentinfo role per HTML-AAM.
|
|
201
|
+
const HAS_SECTIONING_ANCESTOR = 'ancestor::article or ancestor::aside or ancestor::main or ancestor::nav or ancestor::section' +
|
|
202
|
+
` or ancestor::*[${[
|
|
203
|
+
'article',
|
|
204
|
+
'complementary',
|
|
205
|
+
'main',
|
|
206
|
+
'navigation',
|
|
207
|
+
'region',
|
|
208
|
+
].map(roleTokenEquals).join(' or ')}]`;
|
|
209
|
+
// Implicit ARIA roles for common native elements. Each value is a list of XPath
|
|
210
|
+
// `self::` node tests; an element matches the role if it has `role="<role>"` or
|
|
211
|
+
// satisfies one of these. An approximation of the ARIA-in-HTML mapping covering
|
|
212
|
+
// the roles people actually query — not the full algorithm.
|
|
213
|
+
const IMPLICIT_ROLE_XPATH = {
|
|
214
|
+
button: [
|
|
215
|
+
'self::button',
|
|
216
|
+
"self::input[@type='button' or @type='submit' or @type='reset' or @type='image']",
|
|
217
|
+
'self::summary',
|
|
218
|
+
],
|
|
219
|
+
link: ['self::a[@href]', 'self::area[@href]'],
|
|
220
|
+
checkbox: ["self::input[@type='checkbox']"],
|
|
221
|
+
radio: ["self::input[@type='radio']"],
|
|
222
|
+
searchbox: ["self::input[@type='search']"],
|
|
223
|
+
textbox: [
|
|
224
|
+
'self::textarea',
|
|
225
|
+
"self::input[not(@type) or @type='text' or @type='email' or @type='tel' or @type='url']",
|
|
226
|
+
],
|
|
227
|
+
heading: ['self::h1', 'self::h2', 'self::h3', 'self::h4', 'self::h5', 'self::h6'],
|
|
228
|
+
img: ['self::img'],
|
|
229
|
+
list: ['self::ul', 'self::ol'],
|
|
230
|
+
listitem: ['self::li'],
|
|
231
|
+
table: ['self::table'],
|
|
232
|
+
row: ['self::tr'],
|
|
233
|
+
cell: ['self::td'],
|
|
234
|
+
columnheader: ['self::th'],
|
|
235
|
+
navigation: ['self::nav'],
|
|
236
|
+
main: ['self::main'],
|
|
237
|
+
// header/footer are only banner/contentinfo when not nested in sectioning
|
|
238
|
+
// content (article/aside/main/nav/section, or an element with the
|
|
239
|
+
// equivalent explicit role) — per the HTML-AAM mapping.
|
|
240
|
+
banner: [`self::header[not(${HAS_SECTIONING_ANCESTOR})]`],
|
|
241
|
+
contentinfo: [`self::footer[not(${HAS_SECTIONING_ANCESTOR})]`],
|
|
242
|
+
article: ['self::article'],
|
|
243
|
+
// A <select> is combobox unless it's a multi-select or has size > 1, in
|
|
244
|
+
// which case its implicit role is listbox (HTML-AAM).
|
|
245
|
+
combobox: ["self::select[not(@multiple) and (not(@size) or number(@size) <= 1)]"],
|
|
246
|
+
listbox: ['self::select[@multiple or (@size and number(@size) > 1)]'],
|
|
247
|
+
};
|
|
127
248
|
// Helpers
|
|
128
249
|
function cssEscape(s) {
|
|
129
250
|
// Minimal escape for quotes and backslashes in our usage
|
|
@@ -147,4 +268,7 @@ function normalizeSpaceLiteral(s) {
|
|
|
147
268
|
function toLower(expr) {
|
|
148
269
|
return `translate(${expr}, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')`;
|
|
149
270
|
}
|
|
271
|
+
function roleTokenEquals(role) {
|
|
272
|
+
return `substring-before(concat(normalize-space(@role), ' '), ' ') = ${xpStringLiteral(role)}`;
|
|
273
|
+
}
|
|
150
274
|
//# sourceMappingURL=by.js.map
|
package/dist/lib/by.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"by.js","sourceRoot":"","sources":["../../src/lib/by.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,EAAE;IAEJ;IACA;IAFT,YACS,KAAa,EACb,KAAa;QADb,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAQ;IAClB,CAAC;IAEL,yBAAyB;IACzB,MAAM,CAAC,GAAG,CAAC,QAAgB;QACzB,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,EAAE,CAAC,EAAU;QAClB,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,UAAU,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,GAAW;QAC1B,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAW;QACxB,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,KAAa;QACrC,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,IAAI,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAa;QACzC,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAY,EAAE,KAAa;QACrC,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,IAAI,EAAE,CAAC,cAAc,EAAE,iBAAiB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,8BAA8B;IAC9B;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,IAAmE;QAEnE,IAAI,IAAI,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,EAAE,aAAa,KAAK,KAAK,CAAC,CAAC,eAAe;QACzD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,eAAe;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"by.js","sourceRoot":"","sources":["../../src/lib/by.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/locator.d.ts
CHANGED
|
@@ -21,6 +21,34 @@ export declare class Locator {
|
|
|
21
21
|
private _withContext;
|
|
22
22
|
/** Return a new child Locator whose search is scoped within this locator's first match. */
|
|
23
23
|
locator(selector: string | By): Locator;
|
|
24
|
+
/** Return a child Locator matching a descendant by ARIA role, scoped within this locator's first match. */
|
|
25
|
+
getByRole(role: string, opts?: {
|
|
26
|
+
name?: string;
|
|
27
|
+
exact?: boolean;
|
|
28
|
+
includeHidden?: boolean;
|
|
29
|
+
}): Locator;
|
|
30
|
+
/** Return a child Locator matching a descendant by visible text, scoped within this locator's first match. */
|
|
31
|
+
getByText(text: string, opts?: {
|
|
32
|
+
exact?: boolean;
|
|
33
|
+
}): Locator;
|
|
34
|
+
/** Return a child Locator matching a descendant by associated label, scoped within this locator's first match. */
|
|
35
|
+
getByLabel(text: string, opts?: {
|
|
36
|
+
exact?: boolean;
|
|
37
|
+
}): Locator;
|
|
38
|
+
/** Return a child Locator matching a descendant by placeholder text, scoped within this locator's first match. */
|
|
39
|
+
getByPlaceholder(text: string, opts?: {
|
|
40
|
+
exact?: boolean;
|
|
41
|
+
}): Locator;
|
|
42
|
+
/** Return a child Locator matching a descendant by alt text, scoped within this locator's first match. */
|
|
43
|
+
getByAltText(text: string, opts?: {
|
|
44
|
+
exact?: boolean;
|
|
45
|
+
}): Locator;
|
|
46
|
+
/** Return a child Locator matching a descendant by title attribute, scoped within this locator's first match. */
|
|
47
|
+
getByTitle(text: string, opts?: {
|
|
48
|
+
exact?: boolean;
|
|
49
|
+
}): Locator;
|
|
50
|
+
/** Return a child Locator matching a descendant by data-testid, scoped within this locator's first match. */
|
|
51
|
+
getByTestId(id: string): Locator;
|
|
24
52
|
/** Return a new Locator targeting the element at position `index` (0-based). */
|
|
25
53
|
nth(index: number): Locator;
|
|
26
54
|
/** Return a new Locator targeting the first match. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,OAAO;IAQhB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,iBAAiB;IAT3B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;gBAGjC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,EAAE,EACN,iBAAiB,GAAE,MAAM,MAAmB;IAGtD,gGAAgG;IAChG,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;YAK9B,YAAY;IAY1B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,GAAG,OAAO;IAQvC,gFAAgF;IAChF,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAM3B,sDAAsD;IACtD,KAAK,IAAI,OAAO;IAIhB,qDAAqD;IACrD,IAAI,IAAI,OAAO;IAMf,mFAAmF;IACnF,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO;IAOnE,OAAO,CAAC,MAAM;IAUd,4EAA4E;YAC9D,QAAQ;IAStB,sDAAsD;YACxC,aAAa;IAyB3B,qDAAqD;YACvC,UAAU;IAQxB,yEAAyE;YAC3D,eAAe;IAuC7B,uFAAuF;YACzE,WAAW;YAwBX,QAAQ;IAKtB,4DAA4D;YAC9C,YAAY;YAKZ,gBAAgB;IAK9B;;;OAGG;YACW,uBAAuB;IAIrC;;;OAGG;YACW,mBAAmB;IAI3B,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpD,wBAAwB;IAClB,WAAW,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrD,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAO9B;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAWrC,OAAO,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;QACtD,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpB,gGAAgG;YAClF,qBAAqB;IA2BnC,kEAAkE;IAClE,MAAM,IAAI,SAAS;IAInB,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB;;;OAGG;IACH,IAAI,IAAI,IAAI,IAAI,CASf;CACF"}
|
|
1
|
+
{"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/locator.js
CHANGED
|
@@ -45,6 +45,34 @@ export class Locator {
|
|
|
45
45
|
child._contextSwitcher = this._contextSwitcher;
|
|
46
46
|
return child;
|
|
47
47
|
}
|
|
48
|
+
/** Return a child Locator matching a descendant by ARIA role, scoped within this locator's first match. */
|
|
49
|
+
getByRole(role, opts) {
|
|
50
|
+
return this.locator(By.role(role, opts));
|
|
51
|
+
}
|
|
52
|
+
/** Return a child Locator matching a descendant by visible text, scoped within this locator's first match. */
|
|
53
|
+
getByText(text, opts) {
|
|
54
|
+
return this.locator(By.text(text, opts));
|
|
55
|
+
}
|
|
56
|
+
/** Return a child Locator matching a descendant by associated label, scoped within this locator's first match. */
|
|
57
|
+
getByLabel(text, opts) {
|
|
58
|
+
return this.locator(By.labelText(text, opts));
|
|
59
|
+
}
|
|
60
|
+
/** Return a child Locator matching a descendant by placeholder text, scoped within this locator's first match. */
|
|
61
|
+
getByPlaceholder(text, opts) {
|
|
62
|
+
return this.locator(By.placeholder(text, opts));
|
|
63
|
+
}
|
|
64
|
+
/** Return a child Locator matching a descendant by alt text, scoped within this locator's first match. */
|
|
65
|
+
getByAltText(text, opts) {
|
|
66
|
+
return this.locator(By.altText(text, opts));
|
|
67
|
+
}
|
|
68
|
+
/** Return a child Locator matching a descendant by title attribute, scoped within this locator's first match. */
|
|
69
|
+
getByTitle(text, opts) {
|
|
70
|
+
return this.locator(By.title(text, opts));
|
|
71
|
+
}
|
|
72
|
+
/** Return a child Locator matching a descendant by data-testid, scoped within this locator's first match. */
|
|
73
|
+
getByTestId(id) {
|
|
74
|
+
return this.locator(By.testId(id));
|
|
75
|
+
}
|
|
48
76
|
/** Return a new Locator targeting the element at position `index` (0-based). */
|
|
49
77
|
nth(index) {
|
|
50
78
|
const l = this._clone();
|
package/dist/lib/locator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/lib/locator.ts"],"names":[],"mappings":"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"}
|
package/docs/browser-api.md
CHANGED
|
@@ -194,7 +194,10 @@ const button = browser.find(By.text('Click me'));
|
|
|
194
194
|
const input = browser.find(By.placeholder('Enter email'));
|
|
195
195
|
```
|
|
196
196
|
|
|
197
|
-
##
|
|
197
|
+
## Semantic locators (getBy*)
|
|
198
|
+
|
|
199
|
+
Shortcuts for the most common semantic strategies — see
|
|
200
|
+
[Selectors & Locators](./selectors.md#semantic-locators) for the full set.
|
|
198
201
|
|
|
199
202
|
```typescript
|
|
200
203
|
// By role
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<title>A11y fixture</title>
|
|
6
|
+
<style>
|
|
7
|
+
body { font-family: system-ui, sans-serif; margin: 20px; }
|
|
8
|
+
/* Deliberately low-contrast text — triggers `color-contrast`. */
|
|
9
|
+
.bad-contrast { color: #bbb; background: #ccc; padding: 8px; }
|
|
10
|
+
.clean { color: #111; background: #fff; padding: 8px; }
|
|
11
|
+
</style>
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<header>
|
|
15
|
+
<h1>Accessibility fixture</h1>
|
|
16
|
+
</header>
|
|
17
|
+
|
|
18
|
+
<!-- ============================================================ -->
|
|
19
|
+
<!-- KNOWN-BAD region: contains seeded a11y violations -->
|
|
20
|
+
<!-- ============================================================ -->
|
|
21
|
+
<section id="bad" aria-label="Known violations">
|
|
22
|
+
<h2>Bad section</h2>
|
|
23
|
+
|
|
24
|
+
<!-- Missing alt: triggers `image-alt` (critical). -->
|
|
25
|
+
<img id="no-alt" src="data:image/gif;base64,R0lGODlhAQABAAAAACw=" width="1" height="1">
|
|
26
|
+
|
|
27
|
+
<!-- Button without an accessible name: triggers `button-name` (critical). -->
|
|
28
|
+
<button id="nameless"></button>
|
|
29
|
+
|
|
30
|
+
<!-- Low-contrast text: triggers `color-contrast` (serious). -->
|
|
31
|
+
<p class="bad-contrast" id="low-contrast">Hard to read text</p>
|
|
32
|
+
</section>
|
|
33
|
+
|
|
34
|
+
<!-- ============================================================ -->
|
|
35
|
+
<!-- KNOWN-GOOD region: no violations -->
|
|
36
|
+
<!-- ============================================================ -->
|
|
37
|
+
<main id="good" aria-label="Clean region">
|
|
38
|
+
<h2>Good section</h2>
|
|
39
|
+
<p class="clean">Readable paragraph with sufficient contrast.</p>
|
|
40
|
+
<button id="named">Click me</button>
|
|
41
|
+
<img id="with-alt" alt="placeholder pixel" src="data:image/gif;base64,R0lGODlhAQABAAAAACw=" width="1" height="1">
|
|
42
|
+
</main>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<title>Clock</title>
|
|
6
|
+
<style>
|
|
7
|
+
body { font-family: sans-serif; padding: 1rem; }
|
|
8
|
+
#login-modal { display: none; }
|
|
9
|
+
#login-modal.visible { display: block; }
|
|
10
|
+
#search-status { color: #888; }
|
|
11
|
+
</style>
|
|
12
|
+
</head>
|
|
13
|
+
<body>
|
|
14
|
+
<h1>Clock fixture</h1>
|
|
15
|
+
|
|
16
|
+
<!-- Section 1: current date display (uses Date.now / new Date) -->
|
|
17
|
+
<p id="date-display"></p>
|
|
18
|
+
<p id="performance-display"></p>
|
|
19
|
+
|
|
20
|
+
<!-- Section 2: trial banner — keyed on a fixed deadline -->
|
|
21
|
+
<div id="trial-banner"></div>
|
|
22
|
+
|
|
23
|
+
<!-- Section 3: debounced search input -->
|
|
24
|
+
<input id="search-input" type="text" placeholder="Search…" autocomplete="off">
|
|
25
|
+
<p id="search-status">no request yet</p>
|
|
26
|
+
<p id="search-count">0</p>
|
|
27
|
+
|
|
28
|
+
<!-- Section 4: 15-minute idle timer → login modal -->
|
|
29
|
+
<main id="main-content">Main content</main>
|
|
30
|
+
<div id="login-modal">
|
|
31
|
+
<h2>Session expired — please log in</h2>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<script>
|
|
35
|
+
// ── Section 1: update date display once on load ──────────────────────────
|
|
36
|
+
document.getElementById('date-display').textContent = new Date().toISOString();
|
|
37
|
+
document.getElementById('performance-display').textContent =
|
|
38
|
+
String(Math.round(performance.now()));
|
|
39
|
+
|
|
40
|
+
// ── Section 2: trial banner ──────────────────────────────────────────────
|
|
41
|
+
// Deadline: 2026-06-16T00:00:00Z
|
|
42
|
+
var TRIAL_DEADLINE = new Date('2026-06-16T00:00:00Z').getTime();
|
|
43
|
+
(function updateBanner() {
|
|
44
|
+
var now = Date.now();
|
|
45
|
+
var banner = document.getElementById('trial-banner');
|
|
46
|
+
if (now < TRIAL_DEADLINE) {
|
|
47
|
+
var msLeft = TRIAL_DEADLINE - now;
|
|
48
|
+
var hoursLeft = msLeft / 3600000;
|
|
49
|
+
if (hoursLeft <= 24) {
|
|
50
|
+
banner.textContent = 'Trial expires today';
|
|
51
|
+
} else {
|
|
52
|
+
banner.textContent = 'Trial active';
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
banner.textContent = 'Trial expired';
|
|
56
|
+
}
|
|
57
|
+
})();
|
|
58
|
+
|
|
59
|
+
// ── Section 3: debounced search ──────────────────────────────────────────
|
|
60
|
+
var searchCount = 0;
|
|
61
|
+
var debounceTimer = null;
|
|
62
|
+
document.getElementById('search-input').addEventListener('input', function(e) {
|
|
63
|
+
clearTimeout(debounceTimer);
|
|
64
|
+
var query = e.target.value;
|
|
65
|
+
debounceTimer = setTimeout(function() {
|
|
66
|
+
searchCount++;
|
|
67
|
+
document.getElementById('search-status').textContent =
|
|
68
|
+
'request sent: ' + query;
|
|
69
|
+
document.getElementById('search-count').textContent = String(searchCount);
|
|
70
|
+
// In a real app this would be fetch('/search?q=' + query)
|
|
71
|
+
}, 300);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// ── Section 4: 15-minute idle logout ────────────────────────────────────
|
|
75
|
+
// 15 minutes = 900 000 ms
|
|
76
|
+
var IDLE_MS = 15 * 60 * 1000;
|
|
77
|
+
setTimeout(function() {
|
|
78
|
+
document.getElementById('login-modal').classList.add('visible');
|
|
79
|
+
document.getElementById('main-content').style.display = 'none';
|
|
80
|
+
}, IDLE_MS);
|
|
81
|
+
</script>
|
|
82
|
+
</body>
|
|
83
|
+
</html>
|