Partilhar via


Use navegadores hospedados na nuvem para aplicativos implantados localmente ou hospedados de forma privada com o Playwright Workspaces

Saiba como usar o Playwright Workspaces para executar testes de ponta a ponta para aplicativos implantados localmente. O Playwright Workspaces usa navegadores remotos hospedados na nuvem para executar testes de Playwright em escala. Você pode usar o serviço para executar testes para aplicativos no localhost ou que você hospeda em sua infraestrutura.

O playwright permite expor redes disponíveis na máquina cliente a navegadores remotos. Quando você expõe uma rede, você pode se conectar a recursos locais a partir do seu código de teste Playwright sem ter que definir configurações adicionais de firewall.

Configurar o Playwright para expor redes locais

Para expor redes e recursos locais a navegadores remotos, você pode usar a exposeNetwork opção em Playwright. Saiba mais sobre a exposeNetwork opção na documentação do dramaturgo.

Você pode especificar uma ou várias redes usando uma lista de regras. Por exemplo, para expor implantações de teste/preparo e localhost: *.test.internal-domain,*.staging.internal-domain,<loopback>.

Você pode configurar a exposeNetwork opção em playwright.service.config.ts. O exemplo a seguir mostra como expor a localhost rede usando a <loopback> regra. Você também pode substituir localhost por um domínio que deseja habilitar para o serviço.

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

Agora você pode fazer referência localhost no código de teste do Playwright e executar os testes em navegadores hospedados na nuvem com o Playwright Workspaces:

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

Você pode configurar a ExposeNetwork opção no arquivo de instalação. O exemplo a seguir mostra como expor a localhost rede usando a <loopback> regra. Você também pode substituir localhost por um domínio que deseja habilitar para o serviço.

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

Agora você pode fazer referência localhost no código de teste do Playwright e executar os testes em navegadores hospedados na nuvem com o Playwright Workspaces:

dotnet test -- NUnit.NumberOfTestWorkers=20