Funções de biblioteca disponíveis para scripts de canário Node.js usando o Playwright - Amazon CloudWatch

Funções de biblioteca disponíveis para scripts de canário Node.js usando o Playwright

Esta seção descreve as funções de biblioteca que estão disponíveis para scripts de canário usando o runtime do Playwright para Node.js.

execução

Esta função inicia um navegador Chromium usando uma função de inicialização do Playwright e retorna o objeto do navegador. Ela descompacta os binários do navegador e inicia o navegador Chromium usando as opções padrão adequadas para um navegador sem cabeçalho. Para obter mais informações sobre a função launch, consulte launch na documentação do Playwright.

Uso

const browser = await synthetics.launch();

Arguments (Argumentos)

options options (opcional) é um conjunto configurável de opções a serem definidas no navegador.

Devoluções

Promise <Browser> em que Browser é uma instância do navegador do Playwright.

Se esta função for chamada novamente, um navegador aberto anteriormente será fechado antes de iniciar um novo navegador. É possível substituir os parâmetros de inicialização usados pelo CloudWatch Synthetics e passar outros parâmetros ao iniciar o navegador. Por exemplo, o trecho de código a seguir inicia um navegador com argumentos padrão e um caminho executável padrão, mas com uma janela de visualização de 800 x 600 pixels. Para obter mais informações, consulte as opções de inicialização do Playwright na documentação do Playwright.

const browser = await synthetics.launch({ defaultViewport: { "deviceScaleFactor": 1, "width": 800, "height": 600 }});

Você também pode adicionar ou substituir os sinalizadores do Chromium passados por padrão para o navegador. Por exemplo, você pode desabilitar a segurança da Web ao adicionar um sinalizador --disable-web-security para argumentos nos parâmetros de inicialização do CloudWatch Synthetics:

// This function adds the --disable-web-security flag to the launch parameters const defaultOptions = await synthetics.getDefaultLaunchOptions(); const launchArgs = [...defaultOptions.args, '--disable-web-security']; const browser = await synthetics.launch({ args: launchArgs });

newPage

A função newPage() cria e retorna uma nova página do Playwright. O Synthetics configura automaticamente uma conexão do Chrome DevTools Protocol (CDP) para permitir capturas de rede para geração de arquivos HTTP (HAR).

Uso

Use newPage() em uma das seguintes opções:

1. Criar uma página em um novo contexto de navegador:

const page = await synthetics.newPage(browser);

2. Criar uma página em um contexto de navegador específico:

// Create a new browser context const browserContext = await browser.newContext(); // Create a new page in the specified browser context const page = await synthetics.newPage(browserContext)

Arguments (Argumentos)

Aceita a instância Browser ou BrowserContext do Playwright.

Devoluções

Promise <Page> em que Page é uma instância Page do Playwright.

feche

Fecha o navegador aberto no momento.

Uso

await synthetics.close();

É recomendável fechar o navegador em um bloco finally do script.

Arguments (Argumentos)

Nenhum

Devoluções

Retorna Promise<void> usada pela função de inicialização do Synthetics para iniciar o navegador.

getDefaultLaunchOptions

A função getDefaultLaunchOptions() retorna as opções de inicialização do navegador que serão usadas pelo CloudWatch Synthetics.

Uso

const defaultOptions = await synthetics.getDefaultLaunchOptions();

Arguments (Argumentos)

Nenhum

Devoluções

Retorna as opções de inicialização do Playwright usadas pela função launch do Synthetics para iniciar o navegador.

executeStep

A função executeStep é usada para executar uma etapa em um script do Synthetics. No CloudWatch Synthetics, uma etapa do Synthetics é uma forma de dividir seu script do canário em uma série de ações claramente definidas, permitindo que você monitore diferentes partes de sua jornada de aplicação separadamente. Para cada etapa, o CloudWatch Synthetics faz o seguinte:

  • Obtém automaticamente uma captura de tela antes do início da etapa e após sua conclusão. Você também pode obter capturas de tela dentro de uma etapa. As capturas de tela são realizadas por padrão, mas podem ser desativadas usando as configurações do Synthetics (Todo: Link).

  • Um relatório, incluindo um resumo, dos detalhes da execução da etapa, como a duração de uma etapa, os status pass ou fail, os URLs das páginas de origem e destino, as capturas de tela associadas etc., é criado para cada execução do canário. Ao escolher uma execução no console do CloudWatch Synthetics, você pode visualizar os detalhes da execução de cada etapa na guia Etapa.

  • As métricas SuccessPercent e Duration do CloudWatch são emitidas para cada etapa, permitindo que os usuários monitorem a disponibilidade e a latência de cada etapa.

Uso

await synthetics.executeStep("mystepname", async function () { await page.goto(url, { waitUntil: 'load', timeout: 30000 }); }
nota

As etapas devem ser executadas sequencialmente. Certifique-se de usar await em promises.

Arguments (Argumentos)

  • stepName string (obrigatória) (booliano): nome da etapa do Synthetics.

  • functionToExecute função assíncrona (obrigatória): a função que você deseja que o Synthetics execute. Essa função deve conter a lógica da etapa.

  • stepConfig objeto (opcional): a configuração da etapa substitui a configuração global de Synthetics para esta etapa.

    • continueOnStepFailure booliano (opcional): se você deve continuar ou não executando o script do canário após esta etapa falhar.

    • screenshotOnStepStart booliano (opcional): se deve ou não obter uma captura de tela no início desta etapa.

    • screenshotOnStepSuccess booliano (opcional): se deve ou não obter uma captura de tela se esta etapa tiver êxito.

    • screenshotOnStepFailure booliano (opcional): se deve ou não obter uma captura de tela se esta etapa falhar.

  • page: objeto de página do Playwright (opcional)

    Um objeto de página do Playwright. O Synthetics usa esse objeto de página para obter capturas de tela e URLs. Por padrão, o Synthetics usa a página do Playwright criada quando a função synthetics.newPage() é chamada para capturar detalhes da página, como capturas de tela e URLs.

Devoluções

Retorna uma Promise que é resolvida com o valor retornado pela função functionToExecute. Para ver um exemplo de script, consulte Código de exemplo para scripts do canário neste guia.