Dela via


Använda molnbaserade webbläsare för lokalt distribuerade eller privat värdbaserade appar med Playwright Workspaces

Lär dig hur du använder Playwright Workspaces för att köra slutpunkt-till-slutpunkt-tester för lokalt distribuerade program. Playwright Workspaces använder molnbaserade, fjärranslutna webbläsare för att köra Playwright-tester i stor skala. Du kan använda tjänsten för att köra tester för appar på localhost eller som du är värd för i din infrastruktur.

Med Playwright kan du exponera nätverk som är tillgängliga på klientdatorn för fjärrwebbläsare. När du exponerar ett nätverk kan du ansluta till lokala resurser från din Playwright-testkod utan att behöva konfigurera ytterligare brandväggsinställningar.

Konfigurera Playwright för att exponera lokala nätverk

Om du vill exponera lokala nätverk och resurser för fjärrwebbläsare kan du använda exposeNetwork alternativet i Playwright. Läs mer om alternativet exposeNetwork i dokumentationen om Dramatiker.

Du kan ange ett eller flera nätverk med hjälp av en lista med regler. Om du till exempel vill exponera test-/mellanlagringsdistributioner och localhost: *.test.internal-domain,*.staging.internal-domain,<loopback>.

Du kan konfigurera alternativet exposeNetwork i playwright.service.config.ts. I följande exempel visas hur du exponerar localhost nätverket med hjälp <loopback> av regeln. Du kan också ersätta localhost med en domän som du vill aktivera för tjänsten.

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()
  }),
);

Nu kan du referera localhost till i testkoden Playwright och köra testerna på molnbaserade webbläsare med Playwright Workspaces:

npx playwright test --config=playwright.service.config.ts --workers=20

Du kan konfigurera alternativet ExposeNetwork i installationsfilen. I följande exempel visas hur du exponerar localhost nätverket med hjälp <loopback> av regeln. Du kan också ersätta localhost med en domän som du vill aktivera för tjänsten.

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
    }
}

Nu kan du referera localhost till i testkoden Playwright och köra testerna på molnbaserade webbläsare med Playwright Workspaces:

dotnet test -- NUnit.NumberOfTestWorkers=20