microsoft / playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
https://playwright.dev
Apache License 2.0
65.99k stars 3.6k forks source link

[BUG] Full page screenshots​ doesn't work on Electron application #11041

Closed nabil-brn closed 2 years ago

nabil-brn commented 2 years ago

Context:

Code Snippet

import test from "../fixtures/common";
import { expect } from "@playwright/test";
import { OnboardingPage } from "../models/OnboardingPage";

test("Onboarding", async ({ page }) => {
  const onboardingPage = new OnboardingPage(page);

  await test.step("Get started", async () => {
    expect(await onboardingPage.getStartedButton).toBeVisible();
    expect(await page.screenshot({ fullPage: true })).toMatchSnapshot(`getstarted.png`);
  });
})

Describe the bug On Electron application, I unfortunately can't take a screenshot of the full page. https://playwright.dev/docs/screenshots#full-page-screenshots

yury-s commented 2 years ago

Can you share minimal repro? I've tried with the attached app and it works just fine test.zip

Also which Electon version are you using?

nabil-brn commented 2 years ago

Hello @yury-s,

We're using electron version 13.5.2, it could come from our app, I guess?

aslushnikov commented 2 years ago

@nabil-brn this is unfortunately not actionable without a repro that we can run & debug locally. Please feel free to resubmit once there's a repro!

davej commented 1 year ago

Just FYI in case anybody comes across this, the problem with the original is that there was no window selected to screenshot. I made the same mistake.

-    expect(await page.screenshot({ fullPage: true })).toMatchSnapshot(`getstarted.png`);
+    expect(await onboardingPage.screenshot({ fullPage: true })).toMatchSnapshot(`getstarted.png`);