Поделиться через


Использование облачных браузеров для локально развернутых или частных приложений с помощью рабочих областей Playwright

Узнайте, как использовать рабочие области Playwright для выполнения сквозных тестов для локально развернутых приложений. Рабочие области Playwright используют облачные браузеры, удаленные браузеры для выполнения тестов Playwright в масштабе. Службу можно использовать для выполнения тестов для приложений в localhost или размещения в инфраструктуре.

Playwright позволяет предоставлять сети, доступные на клиентском компьютере в удаленных браузерах. Если вы предоставляете сеть, вы можете подключиться к локальным ресурсам из тестового кода Playwright без необходимости настраивать дополнительные параметры брандмауэра.

Настройка Playwright для предоставления локальных сетей

Чтобы предоставить локальные сети и ресурсы удаленным браузерам, можно использовать exposeNetwork этот параметр в Playwright. Дополнительные сведения о параметре exposeNetwork см. в документации по Playwright.

Можно указать одну или несколько сетей с помощью списка правил. Например, чтобы предоставить тестовые и промежуточные развертывания и 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()
  }),
);

Теперь вы можете ссылаться localhost в коде теста Playwright и запускать тесты в облачных браузерах с помощью рабочих областей 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
    }
}

Теперь вы можете ссылаться localhost в коде теста Playwright и запускать тесты в облачных браузерах с помощью рабочих областей Playwright:

dotnet test -- NUnit.NumberOfTestWorkers=20