@testid/antd-testid-runtime 1.0.10 → 1.0.12
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/index.d.mts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +16 -14
- package/dist/index.mjs +16 -14
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -327,8 +327,9 @@ declare class TestIdObserver {
|
|
|
327
327
|
* 决策优先级:
|
|
328
328
|
* 0. 已有 data-testid → 跳过
|
|
329
329
|
* 1. 带 data-test-base-key → 公共组件实例 (锚点定位)
|
|
330
|
-
* 2.
|
|
331
|
-
*
|
|
330
|
+
* 2. 浮层内部子节点 → 先查祖先,再查自身是否 root
|
|
331
|
+
* (避免嵌套浮层如 el-cascader-panel ∈ el-cascader__suggestion-panel 被误判为独立 root)
|
|
332
|
+
* 3. body 直系浮层根节点 → 匹配浮层类型 → 独立前缀
|
|
332
333
|
* 4. #app 内普通节点 → dynamic
|
|
333
334
|
*/
|
|
334
335
|
private processSingleNode;
|
|
@@ -399,8 +400,8 @@ declare class TestIdObserver {
|
|
|
399
400
|
/**
|
|
400
401
|
* 处理浮层内部子节点 (Modal/Drawer/Dropdown 内的按钮、输入框等)
|
|
401
402
|
*
|
|
402
|
-
*
|
|
403
|
-
*
|
|
403
|
+
* 同类型浮层的子节点共享全局计数器 (key: popupType_tag),
|
|
404
|
+
* 确保页面上多个同类下拉选择框的下拉选项 testid 全局唯一。
|
|
404
405
|
*
|
|
405
406
|
* ID 格式: ${runtimePagePrefix}${popupPrefix}${tag}_${counter}
|
|
406
407
|
* 例: hall_dynamic_modal_button_0, hall_dynamic_select_div_2
|
package/dist/index.d.ts
CHANGED
|
@@ -327,8 +327,9 @@ declare class TestIdObserver {
|
|
|
327
327
|
* 决策优先级:
|
|
328
328
|
* 0. 已有 data-testid → 跳过
|
|
329
329
|
* 1. 带 data-test-base-key → 公共组件实例 (锚点定位)
|
|
330
|
-
* 2.
|
|
331
|
-
*
|
|
330
|
+
* 2. 浮层内部子节点 → 先查祖先,再查自身是否 root
|
|
331
|
+
* (避免嵌套浮层如 el-cascader-panel ∈ el-cascader__suggestion-panel 被误判为独立 root)
|
|
332
|
+
* 3. body 直系浮层根节点 → 匹配浮层类型 → 独立前缀
|
|
332
333
|
* 4. #app 内普通节点 → dynamic
|
|
333
334
|
*/
|
|
334
335
|
private processSingleNode;
|
|
@@ -399,8 +400,8 @@ declare class TestIdObserver {
|
|
|
399
400
|
/**
|
|
400
401
|
* 处理浮层内部子节点 (Modal/Drawer/Dropdown 内的按钮、输入框等)
|
|
401
402
|
*
|
|
402
|
-
*
|
|
403
|
-
*
|
|
403
|
+
* 同类型浮层的子节点共享全局计数器 (key: popupType_tag),
|
|
404
|
+
* 确保页面上多个同类下拉选择框的下拉选项 testid 全局唯一。
|
|
404
405
|
*
|
|
405
406
|
* ID 格式: ${runtimePagePrefix}${popupPrefix}${tag}_${counter}
|
|
406
407
|
* 例: hall_dynamic_modal_button_0, hall_dynamic_select_div_2
|
package/dist/index.js
CHANGED
|
@@ -147,8 +147,10 @@ var popupClassSuffixMap2 = {
|
|
|
147
147
|
select: [
|
|
148
148
|
["-select-dropdown"],
|
|
149
149
|
// ElSelect 下拉面板
|
|
150
|
-
["-cascader__suggestion-panel"]
|
|
151
|
-
// ElCascader
|
|
150
|
+
["-cascader__suggestion-panel"],
|
|
151
|
+
// ElCascader 浮层 (suggestion 模式)
|
|
152
|
+
["-cascader-panel"]
|
|
153
|
+
// ElCascader 浮层 (panel 模式 / 低版本)
|
|
152
154
|
],
|
|
153
155
|
datePicker: [
|
|
154
156
|
["-picker-panel"],
|
|
@@ -410,8 +412,9 @@ var TestIdObserver = class {
|
|
|
410
412
|
* 决策优先级:
|
|
411
413
|
* 0. 已有 data-testid → 跳过
|
|
412
414
|
* 1. 带 data-test-base-key → 公共组件实例 (锚点定位)
|
|
413
|
-
* 2.
|
|
414
|
-
*
|
|
415
|
+
* 2. 浮层内部子节点 → 先查祖先,再查自身是否 root
|
|
416
|
+
* (避免嵌套浮层如 el-cascader-panel ∈ el-cascader__suggestion-panel 被误判为独立 root)
|
|
417
|
+
* 3. body 直系浮层根节点 → 匹配浮层类型 → 独立前缀
|
|
415
418
|
* 4. #app 内普通节点 → dynamic
|
|
416
419
|
*/
|
|
417
420
|
processSingleNode(node) {
|
|
@@ -423,16 +426,16 @@ var TestIdObserver = class {
|
|
|
423
426
|
this.handleBaseKeyNode(node, baseKey, config);
|
|
424
427
|
return;
|
|
425
428
|
}
|
|
429
|
+
const popupAncestor = this.detectPopupAncestor(node);
|
|
430
|
+
if (popupAncestor) {
|
|
431
|
+
this.handlePopupChildNode(node, popupAncestor.type, config);
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
426
434
|
const popupType = this.detectPopupType(node);
|
|
427
435
|
if (popupType) {
|
|
428
436
|
this.handlePopupNode(node, popupType);
|
|
429
437
|
return;
|
|
430
438
|
}
|
|
431
|
-
const popupAncestor = this.detectPopupAncestor(node);
|
|
432
|
-
if (popupAncestor) {
|
|
433
|
-
this.handlePopupChildNode(node, popupAncestor.type, popupAncestor.element, config);
|
|
434
|
-
return;
|
|
435
|
-
}
|
|
436
439
|
if (this.isInsideApp(node)) {
|
|
437
440
|
this.handleDynamicNode(node, config);
|
|
438
441
|
}
|
|
@@ -592,19 +595,18 @@ var TestIdObserver = class {
|
|
|
592
595
|
/**
|
|
593
596
|
* 处理浮层内部子节点 (Modal/Drawer/Dropdown 内的按钮、输入框等)
|
|
594
597
|
*
|
|
595
|
-
*
|
|
596
|
-
*
|
|
598
|
+
* 同类型浮层的子节点共享全局计数器 (key: popupType_tag),
|
|
599
|
+
* 确保页面上多个同类下拉选择框的下拉选项 testid 全局唯一。
|
|
597
600
|
*
|
|
598
601
|
* ID 格式: ${runtimePagePrefix}${popupPrefix}${tag}_${counter}
|
|
599
602
|
* 例: hall_dynamic_modal_button_0, hall_dynamic_select_div_2
|
|
600
603
|
*
|
|
601
604
|
* 浮层子元素均为运行时注入,统一使用 runtimePagePrefix 前缀。
|
|
602
605
|
*/
|
|
603
|
-
handlePopupChildNode(node, popupType,
|
|
606
|
+
handlePopupChildNode(node, popupType, config) {
|
|
604
607
|
if (config.onlyInteractive && !this.isInteractive(node)) return;
|
|
605
608
|
const tag = this.getSimpleTag(node);
|
|
606
|
-
const
|
|
607
|
-
const key = `${popupRootTestId}_${tag}`;
|
|
609
|
+
const key = `${popupType}_${tag}`;
|
|
608
610
|
const current = this.state.popupChildCounter.get(key) ?? 0;
|
|
609
611
|
this.state.popupChildCounter.set(key, current + 1);
|
|
610
612
|
const popupPrefix = config.popupPrefixMap[popupType] || `${popupType}_`;
|
package/dist/index.mjs
CHANGED
|
@@ -104,8 +104,10 @@ var popupClassSuffixMap2 = {
|
|
|
104
104
|
select: [
|
|
105
105
|
["-select-dropdown"],
|
|
106
106
|
// ElSelect 下拉面板
|
|
107
|
-
["-cascader__suggestion-panel"]
|
|
108
|
-
// ElCascader
|
|
107
|
+
["-cascader__suggestion-panel"],
|
|
108
|
+
// ElCascader 浮层 (suggestion 模式)
|
|
109
|
+
["-cascader-panel"]
|
|
110
|
+
// ElCascader 浮层 (panel 模式 / 低版本)
|
|
109
111
|
],
|
|
110
112
|
datePicker: [
|
|
111
113
|
["-picker-panel"],
|
|
@@ -367,8 +369,9 @@ var TestIdObserver = class {
|
|
|
367
369
|
* 决策优先级:
|
|
368
370
|
* 0. 已有 data-testid → 跳过
|
|
369
371
|
* 1. 带 data-test-base-key → 公共组件实例 (锚点定位)
|
|
370
|
-
* 2.
|
|
371
|
-
*
|
|
372
|
+
* 2. 浮层内部子节点 → 先查祖先,再查自身是否 root
|
|
373
|
+
* (避免嵌套浮层如 el-cascader-panel ∈ el-cascader__suggestion-panel 被误判为独立 root)
|
|
374
|
+
* 3. body 直系浮层根节点 → 匹配浮层类型 → 独立前缀
|
|
372
375
|
* 4. #app 内普通节点 → dynamic
|
|
373
376
|
*/
|
|
374
377
|
processSingleNode(node) {
|
|
@@ -380,16 +383,16 @@ var TestIdObserver = class {
|
|
|
380
383
|
this.handleBaseKeyNode(node, baseKey, config);
|
|
381
384
|
return;
|
|
382
385
|
}
|
|
386
|
+
const popupAncestor = this.detectPopupAncestor(node);
|
|
387
|
+
if (popupAncestor) {
|
|
388
|
+
this.handlePopupChildNode(node, popupAncestor.type, config);
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
383
391
|
const popupType = this.detectPopupType(node);
|
|
384
392
|
if (popupType) {
|
|
385
393
|
this.handlePopupNode(node, popupType);
|
|
386
394
|
return;
|
|
387
395
|
}
|
|
388
|
-
const popupAncestor = this.detectPopupAncestor(node);
|
|
389
|
-
if (popupAncestor) {
|
|
390
|
-
this.handlePopupChildNode(node, popupAncestor.type, popupAncestor.element, config);
|
|
391
|
-
return;
|
|
392
|
-
}
|
|
393
396
|
if (this.isInsideApp(node)) {
|
|
394
397
|
this.handleDynamicNode(node, config);
|
|
395
398
|
}
|
|
@@ -549,19 +552,18 @@ var TestIdObserver = class {
|
|
|
549
552
|
/**
|
|
550
553
|
* 处理浮层内部子节点 (Modal/Drawer/Dropdown 内的按钮、输入框等)
|
|
551
554
|
*
|
|
552
|
-
*
|
|
553
|
-
*
|
|
555
|
+
* 同类型浮层的子节点共享全局计数器 (key: popupType_tag),
|
|
556
|
+
* 确保页面上多个同类下拉选择框的下拉选项 testid 全局唯一。
|
|
554
557
|
*
|
|
555
558
|
* ID 格式: ${runtimePagePrefix}${popupPrefix}${tag}_${counter}
|
|
556
559
|
* 例: hall_dynamic_modal_button_0, hall_dynamic_select_div_2
|
|
557
560
|
*
|
|
558
561
|
* 浮层子元素均为运行时注入,统一使用 runtimePagePrefix 前缀。
|
|
559
562
|
*/
|
|
560
|
-
handlePopupChildNode(node, popupType,
|
|
563
|
+
handlePopupChildNode(node, popupType, config) {
|
|
561
564
|
if (config.onlyInteractive && !this.isInteractive(node)) return;
|
|
562
565
|
const tag = this.getSimpleTag(node);
|
|
563
|
-
const
|
|
564
|
-
const key = `${popupRootTestId}_${tag}`;
|
|
566
|
+
const key = `${popupType}_${tag}`;
|
|
565
567
|
const current = this.state.popupChildCounter.get(key) ?? 0;
|
|
566
568
|
this.state.popupChildCounter.set(key, current + 1);
|
|
567
569
|
const popupPrefix = config.popupPrefixMap[popupType] || `${popupType}_`;
|