修复游玩页面板不滚动规则被 workbench 祖先规则压掉
- .platform-tab-panel--game-play 覆盖带上 .platform-desktop-shell--workbench 祖先,压过 overflow: auto - E2E 游玩页断言补整页与面板的横向溢出测量,避免面板 overflow-x: hidden 静默裁切漏检 - 修正 E2E 探针里重复的 panelOverflowY 键名,拆成 panelOverflowY 与 panelOverflowStyle - 同步里程碑文档与 pitfalls 同日条目(单类名覆盖被祖先规则压掉、守卫实际为空)
This commit is contained in:
@@ -523,20 +523,29 @@ async function main() {
|
||||
`startDisabled=${mobileStartDisabled} rotationHint=${rotationHint}`,
|
||||
);
|
||||
// 游玩页是固定画布:面板必须是 overflow:hidden 且不溢出,整页也不能出现滚动条。
|
||||
// 面板自身 `overflow-x: hidden`,横向溢出只会被静默裁掉、不会出滚动条,所以两个方向都要量:
|
||||
// 只量 scrollHeight 会漏掉「卡片被裁一半」这类横向回归。
|
||||
const playScroll = await mobilePage.evaluate(() => {
|
||||
const panel = document.querySelector('.platform-tab-panel');
|
||||
return {
|
||||
documentOverflow:
|
||||
documentOverflowY:
|
||||
document.documentElement.scrollHeight - window.innerHeight,
|
||||
panelOverflow: panel ? panel.scrollHeight - panel.clientHeight : 0,
|
||||
panelOverflowY: panel ? getComputedStyle(panel).overflowY : 'missing',
|
||||
documentOverflowX:
|
||||
document.documentElement.scrollWidth - window.innerWidth,
|
||||
panelOverflowY: panel ? panel.scrollHeight - panel.clientHeight : 0,
|
||||
panelOverflowX: panel ? panel.scrollWidth - panel.clientWidth : 0,
|
||||
panelOverflowStyle: panel
|
||||
? getComputedStyle(panel).overflowY
|
||||
: 'missing',
|
||||
};
|
||||
});
|
||||
check(
|
||||
'移动端游玩页不可滚动(面板与整页都不溢出)',
|
||||
playScroll.documentOverflow <= 1 &&
|
||||
playScroll.panelOverflow <= 1 &&
|
||||
playScroll.panelOverflowY === 'hidden',
|
||||
playScroll.documentOverflowY <= 1 &&
|
||||
playScroll.documentOverflowX <= 1 &&
|
||||
playScroll.panelOverflowY <= 1 &&
|
||||
playScroll.panelOverflowX <= 1 &&
|
||||
playScroll.panelOverflowStyle === 'hidden',
|
||||
JSON.stringify(playScroll),
|
||||
);
|
||||
await mobile.close();
|
||||
|
||||
Reference in New Issue
Block a user