test: scroll mobile page with background-attachment: fixed (#31992)

Reference: https://github.com/microsoft/playwright/issues/31551
Reference: https://github.com/microsoft/playwright/issues/23573
This commit is contained in:
Yury Semikhatsky 2024-10-03 18:16:49 -07:00 committed by GitHub
parent 6b1d0361cd
commit d7020cba63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,16 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
<style>
body {
background: #fff url("/pptr.png") no-repeat center 30px;
background-attachment: fixed;
margin-top: 36px;
}
</style>
</head>
<body>
<div style="height: 3000px; background-color: antiquewhite;">tall</div>
<button>Click me</button>
</body>

View File

@ -188,6 +188,22 @@ it.describe('mobile viewport', () => {
await context.close();
});
it('should scroll mobile page with background-attachment: fixed', {
annotation: [
{ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/31551' },
{ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/23573' },
]
}, async ({ playwright, browser, server, browserName, isLinux, headless }) => {
it.fixme(browserName === 'webkit' && isLinux && headless, 'Fails on WPE apparently due to accelerated compositing + fixed layout');
const iPhone = playwright.devices['iPhone 12'];
const context = await browser.newContext({ ...iPhone });
const page = await context.newPage();
await page.goto(server.PREFIX + '/input/background-fixed.html');
await page.getByRole('button').click();
expect(await page.evaluate(() => window.scrollY)).toBeGreaterThan(1000);
await context.close();
});
it('view scale should reset after navigation', async ({ browser, browserName }) => {
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/26876' });
const context = await browser.newContext({