@sudobility/testomniac_runner_service 0.1.68 → 0.1.69
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/dist/analyzer/page-analyzer/generators/hover-follow-up.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/hover-follow-up.js +3 -2
- package/dist/analyzer/page-analyzer/generators/hover-follow-up.js.map +1 -1
- package/dist/browser/replay-selector.d.ts +2 -1
- package/dist/browser/replay-selector.d.ts.map +1 -1
- package/dist/browser/replay-selector.js +82 -0
- package/dist/browser/replay-selector.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-follow-up.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/hover-follow-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"hover-follow-up.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/hover-follow-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,GAAG,EACb,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA2Jf"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { matchesActionableItemSelector } from "../../../browser/replay-selector";
|
|
1
2
|
export async function generateHoverFollowUpCases(analyzer, testInteraction, context) {
|
|
2
3
|
const selector = analyzer.getPrimarySelector(testInteraction);
|
|
3
4
|
if (!selector || !context.currentPageStateId) {
|
|
@@ -22,8 +23,8 @@ export async function generateHoverFollowUpCases(analyzer, testInteraction, cont
|
|
|
22
23
|
const key = analyzer.getItemKey(item);
|
|
23
24
|
return Boolean(key) && !beginningKeys.has(key);
|
|
24
25
|
}));
|
|
25
|
-
const hoveredItem = context.actionableItems.find(item =>
|
|
26
|
-
const startingItem = beginningItems.find(item =>
|
|
26
|
+
const hoveredItem = context.actionableItems.find(item => matchesActionableItemSelector(selector, item)) ?? null;
|
|
27
|
+
const startingItem = beginningItems.find(item => matchesActionableItemSelector(selector, item)) ?? null;
|
|
27
28
|
const stableHoveredItem = hoveredItem ?? startingItem;
|
|
28
29
|
const stayedOnSamePageState = context.beginningPageStateId > 0 &&
|
|
29
30
|
context.currentPageStateId === context.beginningPageStateId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-follow-up.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/hover-follow-up.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hover-follow-up.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/hover-follow-up.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ActionableItem } from "@sudobility/testomniac_types";
|
|
1
|
+
import type { ActionableItem, ActionableItemResponse } from "@sudobility/testomniac_types";
|
|
2
2
|
import type { ControlState } from "../expertise/tester/control-state";
|
|
3
3
|
export type ReplaySelectorMetadata = {
|
|
4
4
|
css?: string;
|
|
@@ -20,4 +20,5 @@ export declare function parseReplaySelector(selector?: string | null): ReplaySel
|
|
|
20
20
|
export declare function buildReplaySelectorFromActionableItem(item: ActionableItem): string;
|
|
21
21
|
export declare function buildReplaySelectorFromDescription(actionType: string, description: string, fallbackPath?: string): string | undefined;
|
|
22
22
|
export declare function matchesControlSelector(selector: string | undefined, state: ControlState): boolean;
|
|
23
|
+
export declare function matchesActionableItemSelector(selector: string | undefined, item: ActionableItem | ActionableItemResponse): boolean;
|
|
23
24
|
//# sourceMappingURL=replay-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-selector.d.ts","sourceRoot":"","sources":["../../src/browser/replay-selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"replay-selector.d.ts","sourceRoot":"","sources":["../../src/browser/replay-selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAItE,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAMF,wBAAgB,2BAA2B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAE7E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAElE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAW7E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,sBAAsB,GAAG,IAAI,CA6B/B;AAED,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,cAAc,GACnB,MAAM,CAmBR;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAuCpB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,YAAY,GAClB,OAAO,CAiET;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,cAAc,GAAG,sBAAsB,GAC5C,OAAO,CAoFT"}
|
|
@@ -144,7 +144,89 @@ export function matchesControlSelector(selector, state) {
|
|
|
144
144
|
}
|
|
145
145
|
return true;
|
|
146
146
|
}
|
|
147
|
+
export function matchesActionableItemSelector(selector, item) {
|
|
148
|
+
if (!selector)
|
|
149
|
+
return false;
|
|
150
|
+
const itemSelector = item.selector ?? undefined;
|
|
151
|
+
if (!isReplaySelector(selector)) {
|
|
152
|
+
return itemSelector === selector;
|
|
153
|
+
}
|
|
154
|
+
const replay = parseReplaySelector(selector);
|
|
155
|
+
if (!replay)
|
|
156
|
+
return false;
|
|
157
|
+
const tagName = normalizeText(item.tagName ?? "").toLowerCase();
|
|
158
|
+
const role = normalizeText(item.role ?? "").toLowerCase();
|
|
159
|
+
const inputType = normalizeText(readActionableAttribute(item, "type")).toLowerCase();
|
|
160
|
+
const href = normalizeText(readActionableHref(item));
|
|
161
|
+
const accessibleName = normalizeText(item.accessibleName ?? "");
|
|
162
|
+
const textContent = normalizeText(readActionableTextContent(item));
|
|
163
|
+
const testId = normalizeText(readActionableAttribute(item, "_testId"));
|
|
164
|
+
const id = normalizeText(readActionableAttribute(item, "id"));
|
|
165
|
+
const name = normalizeText(readActionableAttribute(item, "name"));
|
|
166
|
+
const placeholder = normalizeText(readActionableAttribute(item, "placeholder"));
|
|
167
|
+
if (replay.css && itemSelector && replay.css === itemSelector) {
|
|
168
|
+
return true;
|
|
169
|
+
}
|
|
170
|
+
if (replay.tagName && replay.tagName.toLowerCase() !== tagName) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
if (replay.role && replay.role.toLowerCase() !== role) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
if (replay.inputType && replay.inputType.toLowerCase() !== inputType) {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
if (replay.href && replay.href !== href) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
if (replay.testId && replay.testId !== testId) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
if (replay.id && replay.id !== id) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
if (replay.name && replay.name !== name) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
if (replay.placeholder && replay.placeholder !== placeholder) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
const targetNames = [
|
|
195
|
+
normalizeText(replay.accessibleName),
|
|
196
|
+
normalizeText(replay.textContent),
|
|
197
|
+
].filter(Boolean);
|
|
198
|
+
if (targetNames.length > 0) {
|
|
199
|
+
const haystacks = [accessibleName, textContent, name, placeholder].filter(Boolean);
|
|
200
|
+
const matchesName = targetNames.some(target => haystacks.some(value => value === target || value.includes(target) || target.includes(value)));
|
|
201
|
+
if (!matchesName) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
147
207
|
function asString(value) {
|
|
148
208
|
return typeof value === "string" ? value : undefined;
|
|
149
209
|
}
|
|
210
|
+
function readActionableAttribute(item, key) {
|
|
211
|
+
if ("attributes" in item) {
|
|
212
|
+
return asString(item.attributes?.[key]);
|
|
213
|
+
}
|
|
214
|
+
if (item.attributesJson &&
|
|
215
|
+
typeof item.attributesJson === "object" &&
|
|
216
|
+
!Array.isArray(item.attributesJson)) {
|
|
217
|
+
return asString(item.attributesJson[key]);
|
|
218
|
+
}
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
function readActionableHref(item) {
|
|
222
|
+
return "href" in item
|
|
223
|
+
? (asString(item.href) ?? readActionableAttribute(item, "href"))
|
|
224
|
+
: undefined;
|
|
225
|
+
}
|
|
226
|
+
function readActionableTextContent(item) {
|
|
227
|
+
if ("textContent" in item) {
|
|
228
|
+
return asString(item.textContent);
|
|
229
|
+
}
|
|
230
|
+
return readActionableAttribute(item, "textContent");
|
|
231
|
+
}
|
|
150
232
|
//# sourceMappingURL=replay-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-selector.js","sourceRoot":"","sources":["../../src/browser/replay-selector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"replay-selector.js","sourceRoot":"","sources":["../../src/browser/replay-selector.ts"],"names":[],"mappings":"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"}
|