无法安装 Playwright:找不到使用 Playwright 的项目。确保项目或解决方案存在于

Lie*_*ero 5 .net dotnet-tool playwright playwright-sharp .net-6.0

我正在尝试在我的部署目标计算机上安装 playwright 以便运行 UI 测试。

# Install the CLI once.
dotnet tool install --global Microsoft.Playwright.CLI

playwright install
Run Code Online (Sandbox Code Playgroud)

然而,当使用 playwright CLI 包括 playwright 安装时,我得到:

找不到使用 Playwright 的项目。确保项目或解决方案存在于 C:\users\myuser 中,或使用 -p 提供另一个路径。

如何在虚拟机上安装 playwright?

编辑:

不幸的是,剧作家的 .NET nuget 包设计得不是很好。虽然 API 很棒,但部署却是一场噩梦。

您不仅无法在部署服务器上使用 CLI 安装浏览器,而且该软件包还向您的项目以及引用它的所有项目添加了 3x NodeJS 运行时 (200MB)。

阻止这些文件被发布是很重要的,并且每个构建的构建工件可以轻松增长到 1GB!

您无法配置 NodeJS 或剧作家本身的路径。

您可以在这里投票修复此问题: https ://github.com/microsoft/playwright-dotnet/issues/1850

mez*_*tou 8

需要playwright install在包含csproj或使用-p指定项目文件的文件夹中执行

# 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
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅文档:https://playwright.dev/dotnet/docs/intro#first-project

您还可以使用以下代码从代码安装浏览器:

using Microsoft.Playwright;

var exitCode = Microsoft.Playwright.Program.Main(new[] { "install" });
Run Code Online (Sandbox Code Playgroud)

更多详细信息:https://www.meziantou.net/distributing-applications-that-depend-on-microsoft-playwright.htm

  • 但它对部署虚拟机没有任何意义。只有编译后的二进制文件,没有项目。我不是在创建剧作家项目,我想执行它。请参阅 https://playwright.dev/dotnet/docs/cli#install-browsers (2认同)
  • Playwright CLI_只是_从“Microsoft.Playwright.dll”调用“Microsoft.Playwright.Program.Run”的助手。该 dll 位于 NuGet 包“Microsoft.Playwright”中。此方法调用位于“.playwright”文件夹中的exe。构建项目时,该文件夹会被复制到构建文件夹中。这就是为什么您需要一个项目文件并在调用“playwright install”之前构建项目。或者,您可以从代码安装浏览器。我已经用一个例子更新了答案。 (2认同)