.netplaywright.net-6.0dotnet-toolplaywright-sharp

Cannot install playwright: Couldn't find project using Playwright. Ensure a project or a solution exists in


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


Solution

  • 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