I'm trying to install playwright on my deployment target machine in order to run UI tests.
# Install the CLI once.
dotnet tool install --global Microsoft.Playwright.CLI
playwright install
however when using the playwright CLI including playwright install I get:
Couldn't find project using Playwright. Ensure a project or a solution exists in C:\users\myuser, or provide another path using -p.
How do I install playwright on a vm?
EDIT:
Unfortunately, the .NET nuget packages for playwright are not very well designed. While the API is wonderful, the deployment is nightmare.
Not only you are not able to install browsers using CLI on deployment server, but the package adds 3x NodeJS runtime (200MB) to your project, and all projects that reference it.
It is untrivial to prevent those files from being published and your build artifacts can easily grow to 1GB for each build!
You are not able to configure path to NodeJS, or to the playwright itself.
You can vote for fixing this here: https://github.com/microsoft/playwright-dotnet/issues/1850
You need to execute playwright install
in the folder that contains the csproj
or use -p
to specify the project file
# Create project
dotnet new console -n PlaywrightDemo
cd PlaywrightDemo
# Install dependencies, build project and download necessary browsers.
dotnet add package Microsoft.Playwright
dotnet build
playwright install
See the documentation for more details: https://playwright.dev/dotnet/docs/intro#first-project
You can also install the browser from the code using:
using Microsoft.Playwright;
var exitCode = Microsoft.Playwright.Program.Main(new[] { "install" });
More details: https://www.meziantou.net/distributing-applications-that-depend-on-microsoft-playwright.htm