Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: codegen and custome browser executablePath, doesn't work except if you install the provided browser #31967

Closed
Grummfy opened this issue Aug 1, 2024 · 4 comments · Fixed by #31985

Comments

@Grummfy
Copy link

Grummfy commented Aug 1, 2024

Version

1.45.3

Steps to reproduce

I install the package playwright (but I think that playwright-core) should be enough.
PWTEST_CLI_EXECUTABLE_PATH=/path/to/chromium npx playwright codegen https://example.tld
doesn't work because I didn't instal the package with npx playwright install but at least I got an error.

I I use a script to launch my browser with a chromium launch with executablePath: /path/to/chromium and a page.pause() The page is opening but nothing else occurs. since the window started by launchApp is not able to load.

If I run npx playwhright install, everything is running smoothly.

For me, since, at least for chromium, we don't require a patch, we should be able to use the browser of our choice and configure it properly.

Expected behavior

I would like to see an error when page.pause() is not able to start the recorder.
I would like to be able to use the browser of my choice (if all technical limitation are met) without the need to install the one provided.

Actual behavior

In one case I have an error
In the other case nothing occurs

Additional context

No response

Environment

ubuntu 22.04 (under wsl in windows 11)
@mxschmitt
Copy link
Member

PWTEST_CLI_EXECUTABLE_PATH is not something we support.

The following should work, if it doesn't work, it looks like a bug:

const { chromium } = require('@playwright/test');

(async () => {
  const browser = await chromium.launch({ 
    headless: false,
    executablePath: '...',
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.pause();
})();

Might be related to the WSL, could you try running it on your normal Windows host instead? I remember #21813.

@Grummfy
Copy link
Author

Grummfy commented Aug 2, 2024

It's working on windows. Not in wsl.

I see why I have not error reported : in server/recorder in the showInspector, the error is catch but nothing is made with it.

The error came from the findChromiumChannel that rely on existing registry record but doesn't find the custom one. Adding the custom one should solve the issue.

@mxschmitt
Copy link
Member

Should be fixed in Canary in 1-2 days: https://playwright.dev/docs/canary-releases

@Grummfy
Copy link
Author

Grummfy commented Aug 2, 2024

Thanks. That was fast!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants