Playwright 작업 영역을 사용하여 로컬로 배포된 애플리케이션에 대한 엔드 투 엔드 테스트를 실행하는 방법을 알아봅니다. Playwright 작업 영역은 대규모로 Playwright 테스트를 실행하기 위해 클라우드 호스팅 원격 브라우저를 사용합니다. 이 서비스를 사용하여 localhost에서 또는 인프라에서 호스팅하는 앱에 대한 테스트를 실행할 수 있습니다.
Playwright를 사용하면 클라이언트 컴퓨터에서 사용할 수 있는 네트워크를 원격 브라우저에 노출할 수 있습니다. 네트워크를 노출하면 추가 방화벽 설정을 구성할 필요 없이 Playwright 테스트 코드에서 로컬 리소스에 연결할 수 있습니다.
로컬 네트워크를 노출하도록 Playwright 구성
로컬 네트워크와 리소스를 원격 브라우저에 노출하려면 Playwright에서 exposeNetwork 옵션을 사용할 수 있습니다. 극작가 설명서에서 exposeNetwork 옵션에 대해 자세히 알아봅니다.
규칙 목록을 사용하여 하나 이상의 네트워크를 지정할 수 있습니다. 예를 들어, 테스트/준비 배포 및 localhost: *.test.internal-___domain,*.staging.internal-___domain,<loopback>을 노출합니다.
exposeNetwork에서 playwright.service.config.ts 옵션을 구성할 수 있습니다. 다음 예제에서는 규칙을 사용하여 localhost 네트워크를 노출 <loopback> 하는 방법을 보여줍니다. 서비스에 대해 사용하도록 설정하려는 도메인으로 바꿀 localhost 수도 있습니다.
import { createAzurePlaywrightConfig, ServiceOS } from "@azure/playwright";
import { defineConfig } from "@playwright/test";
import { DefaultAzureCredential } from "@azure/identity";
import config from "./playwright.config";
export default defineConfig(
config,
createAzurePlaywrightConfig(config, {
exposeNetwork: '<loopback>', // Allow service to access the localhost.
credential: new DefaultAzureCredential()
}),
);
이제 Playwright 테스트 코드에서 참조 태그 localhost 및 Playwright 작업 영역을 사용하여 클라우드 호스팅 브라우저에서 테스트를 실행할 수 있습니다.
npx playwright test --config=playwright.service.config.ts --workers=20
설치 파일에서 ExposeNetwork 옵션을 구성할 수 있습니다. 다음 예제에서는 규칙을 사용하여 localhost 네트워크를 노출 <loopback> 하는 방법을 보여줍니다. 서비스에 대해 사용하도록 설정하려는 도메인으로 바꿀 localhost 수도 있습니다.
using Azure.Developer.Playwright.NUnit;
using Azure.Developer.Playwright;
using Azure.Identity;
using System.Runtime.InteropServices;
using System;
namespace PlaywrightService.SampleTests; // Remember to change this as per your project namespace
[SetUpFixture]
public class PlaywrightServiceNUnitSetup : PlaywrightServiceBrowserNUnit
{
public PlaywrightServiceNUnitSetup() : base(
credential: new DefaultAzureCredential(),
options: new PlaywrightServiceBrowserClientOptions()
{
ExposeNetwork = "<loopback>"
}
)
{
// no-op
}
}
이제 Playwright 테스트 코드에서 참조 태그 localhost 및 Playwright 작업 영역을 사용하여 클라우드 호스팅 브라우저에서 테스트를 실행할 수 있습니다.
dotnet test -- NUnit.NumberOfTestWorkers=20
관련 콘텐츠
- 극작가 작업 영역을 사용하여 대규모로 극작가 테스트 실행
- Playwright 설명서에서 Playwright 테스트 작성에 대해 자세히 알아봅니다.