Hi, we'd like to run our Playwright Junit test in an air-gapped CI, i.e. in a Jenkins that does not have access to the internet. This poses a problem when the Playwright Maven modules want to download the browsers from somewhere in the internet.
What we can do is to mirror Docker images in a custom Docker registry, so we could make the Playwright Docker image available to Jenkins. But then there doesn't seem to be a way to combine the Playwright Docker image with execution in Java?
Alternatively, would it make sense to build a custom Docker build image with the Playwright Docker image as base, and installing Java + Maven on top? Would the Playwright Maven plugins then find the existing Playwright installation within the same Docker image?
This thread is trying to answer question "How can Playwright Junit tests be run in an air-gapped CI, specifically in a Jenkins that does not have internet access?"
Hm, I just discovered https://playwright.dev/java/docs/browsers#download-from-artifact-repository , but the docs don't say what kind of artifact repository is required to host the browser binaries?
I just see that the Docker image sets PLAYWRIGHT_BROWSERS_PATH
to /ms-playwright
, as documented in https://playwright.dev/java/docs/browsers#managing-browser-binaries , so I'd now go for the custom build image approach as Maven should be able to find the binaries in the image
Concerning the format of the binaries repository I opened this issue: https://github.com/microsoft/playwright-java/issues/1413
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].