建置playwright專案 - daniel-qa/RooCode GitHub Wiki
建置playwright專案
- 建立一個新的資料夾來存放 Playwright 測試專案
mkdir PlaywrightTests
- 進入剛剛建立的資料夾
cd PlaywrightTests
- 用 dotnet CLI 建立一個新的 NUnit 測試專案
dotnet new nunit
「dotnet new nunit」會建立一個預設的 .NET NUnit 測試專案架構,包含基本的測試類別和設定檔
- 為這個專案加入 Playwright for NUnit 的 NuGet 套件
dotnet add package Microsoft.Playwright.NUnit
這個套件整合了 Playwright 和 NUnit 測試框架,提供瀏覽器自動化功能與斷言支援
- 安裝 NUnit3TestAdapter
NUnit3TestAdapter 是什麼?
這是用來讓 Visual Studio 和 dotnet test 正確識別並執行 NUnit 測試的轉接器(Adapter)。
dotnet add package NUnit3TestAdapter
- 運行單元測試
dotnet test
Sample Code 說明,設定 Browser 可視模式
- UnitTest1.cs
using Microsoft.Playwright;
using NUnit.Framework;
namespace PlaywrightTests;
public class Tests
{
[Test]
public async Task Test1()
{
using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions { Headless = false });
var page = await browser.NewPageAsync();
await page.GotoAsync("https://iis.del.net/");
await Task.Delay(3000);
await page.Locator("text=教師身份").ClickAsync();
// 輸入帳密
await page.GetByPlaceholder("用戶編號").FillAsync("guest");
await page.GetByPlaceholder("密碼").FillAsyn c("1234");
await page.GetByPlaceholder("密碼").PressAsync("Enter");
await Task.Delay(5000);
}
}
Headless = false ,才可以看到 Browser
-
在 C# 裡,只要你用了 using(或 await using),當這個變數離開作用域(scope)時,資源就會自動被釋放。這是一種簡潔又安全的「自動收工」機制
-
Playwright 內建的 text= 是支援模糊比對(partial text match)的: