Compartilhar via


Gerenciar autenticação e autorização para workspaces do dramaturgo

Neste artigo, você aprenderá a gerenciar a autenticação e a autorização para workspaces do dramaturgo. A autenticação é necessária para executar testes do Dramaturgo em navegadores hospedados na nuvem.

Por padrão, o Microsoft Entra ID é usado para autenticação. Esse método é mais seguro e é o método de autenticação mais recomendado. Não é possível desabilitar a autenticação usando o Microsoft Entra ID. No entanto, você também pode usar tokens de acesso para autenticar e autorizar.

Contexto

Workspaces dramaturgos são construídos sobre a estrutura de software livre do Dramaturgo. Ele executa testes do Playwright em navegadores hospedados na nuvem.

Para usar o serviço, o cliente deve se autenticar no serviço para acessar os navegadores. O serviço oferece dois métodos de autenticação: Microsoft Entra ID e tokens de acesso.

O Microsoft Entra ID usa suas credenciais do Azure, exigindo uma entrada na sua conta do Azure para acesso seguro. Como alternativa, você pode gerar um token de acesso a partir do seu espaço de trabalho do Playwright e usá-lo em sua configuração. No entanto, recomendamos fortemente o Microsoft Entra ID para autenticação devido à sua segurança aprimorada. Os tokens de acesso, embora convenientes, funcionam como senhas de longa duração  são mais suscetíveis a serem comprometidos.

Habilitar a autenticação usando tokens de acesso

Por padrão, o Playwright Workspaces usa a ID do Microsoft Entra para autenticação, que é a abordagem recomendada. Embora a autenticação de token de acesso tenha suporte, ela é desabilitada por padrão porque é menos segura. Para usar tokens de acesso, você deve habilitar explicitamente essa opção para seu workspace.

Cuidado

Os tokens de acesso do workspace são semelhantes a uma senha do Playwright Workspaces. Tenha sempre o cuidado de proteger seus tokens de acesso. Evite distribuir tokens de acesso para outros usuários, fazer hard-coding com elas ou salvá-las em qualquer lugar em texto sem formatação que seja acessível a outras pessoas. Revogue e recrie seus tokens se você achar que eles estão comprometidos.

Para habilitar a autenticação usando tokens de acesso:

  1. Entre no portal do Azure com sua conta do Azure e navegue até o workspace.

  2. Na seção Configurações , selecione Gerenciamento de Acesso.

  3. Marque a caixa Token de acesso do serviço Playwright para habilitá-lo.

Captura de tela que mostra ativar a autenticação usando tokens de acesso.

Cuidado

A autenticação usando tokens de acesso é menos segura. Saiba como gerenciar os tokens de acesso

Configure a autenticação usando tokens de acesso

  1. Ao executar os testes, habilite a autenticação de token de acesso no arquivo playwright.service.config.ts em sua configuração.

    import { createAzurePlaywrightConfig, ServiceAuth } from '@azure/playwright';
    
    /* Learn more about service configuration at https://aka.ms/pww/docs/config */
    export default defineConfig(config, createAzurePlaywrightConfig( config, {
        serviceAuthType: ServiceAuth.ACCESS_TOKEN
    }));
    
  1. Ao executar os testes, habilite a autenticação de token de acesso no arquivo de instalaçã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()
            {
                ServiceAuth = ServiceAuthType.AccessToken
            }
        )
        {
            // no-op
        }
    }
    
  1. Criar token de acesso.

    Siga as etapas para criar um token de acesso. Copie o valor do token de acesso gerado.

Configure seu ambiente.

Para configurar seu ambiente, defina a variável de ambiente PLAYWRIGHT_SERVICE_ACCESS_TOKEN com o valor obtido nas etapas anteriores. Verifique se essa variável de ambiente está disponível na configuração em que você está executando os testes.

Recomendamos que você use o módulo dotenv para gerenciar seu ambiente. Com dotenv, você define suas variáveis de ambiente no arquivo .env.

  1. Adicione o módulo dotenv ao seu projeto:

    npm i --save-dev dotenv
    
  2. Crie um arquivo .env acompanhado do arquivo playwright.config.ts no projeto do Playwright:

    PLAYWRIGHT_SERVICE_ACCESS_TOKEN={MY-ACCESS-TOKEN}
    

    Certifique-se de substituir o espaço reservado para texto {MY-ACCESS-TOKEN} pelo valor que você copiou anteriormente.

Para configurar seu ambiente, defina a variável de ambiente PLAYWRIGHT_SERVICE_ACCESS_TOKEN com o valor obtido nas etapas anteriores. Verifique se essa variável de ambiente está disponível na configuração em que você está executando os testes.

Executar testes no serviço

Execute testes do Dramaturgo em navegadores hospedados na nuvem usando a configuração criada acima.

npx playwright test --config=playwright.service.config.ts --workers=20
dotnet test -- NUnit.NumberOfTestWorkers=20