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
Uso
const browser = await synthetics.launch();
Arguments (Argumentos)
options
options
Devoluções
Promise <Browser>
em que Browser
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
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
Devoluções
Promise <Page> em que Page é uma instância Page
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çãolaunch
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
oufail
, 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
eDuration
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.