Modelos pré-configurados e exemplos de código permitem criar monitores sintéticos em
Node.js e TypeScript usando frameworks como Puppeteer, Selenium WebDriver
e Mocha. Use essas amostras, disponíveis no repositório do GitHub synthetics-sdk-nodejs, para consultar URLs, executar jornadas do usuário baseadas em navegador, testar endpoints de API ou verificar links quebrados.
Diretrizes para usar amostras e escrever testes personalizados
Antes de implantar uma amostra ou escrever um teste personalizado, revise os seguintes requisitos:
- Atualize o URL de destino: antes de implantar qualquer exemplo de código, atualize o campo
urlpara apontar para seu endpoint de destino. Não defina esse campo comohttps://www.google.com. - Gerar um
Errorem caso de falha no teste: se você escrever testes personalizados em vez de usar um modelo, verifique se o teste é aprovado, a menos que umErrorseja gerado. Recomendamos usar a bibliotecaAssertpara que todas as falhas sejam atribuídas à linha de código correta.
Modelos genéricos
Os modelos genéricos são configurados para coletar dados de rastreamento e de registro de solicitações HTTP de saída. A solução usa o módulo auto-instrumentation-node do OpenTelemetry e o logger Winston. Devido à dependência de produtos de código aberto, espere mudanças na estrutura dos dados de rastreamento e de registros. Portanto, os dados de rastreamento e registro coletados devem ser usados apenas para fins de depuração.
Você pode implementar sua própria abordagem para coletar dados de rastreamento e registro de solicitações HTTP
de saída. Para conferir um exemplo de abordagem personalizada, consulte a classe SyntheticAutoInstrumentation.
Exemplo genérico do Node.js
O exemplo generic-synthetic-nodejs ilustra como consultar um URL. Este exemplo contém o mesmo código da função padrão
mostrada pelo console Google Cloud . Para ver o exemplo completo, na barra de ferramentas dele,
selecione o logotipo do GitHub.
Exemplo de TypeScript
O exemplo generic-synthetic-typescript
mostra como consultar um URL. Para ver o exemplo completo, na barra de ferramentas dele,
selecione o logotipo do GitHub.
Modelo do Puppeteer
Se você usa o Puppeteer, comece com o exemplo
generic-puppeteer-nodejs.
Configuração necessária do Puppeteer
Para usar o Puppeteer, siga estas etapas:
Inclua
.puppeteerrc.cjsno diretório de origem da sua função do Cloud Run:Adicione o seguinte script ao arquivo
package.jsonda sua função do Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Exemplo do Puppeteer
O exemplo generic-puppeteer-nodejs ilustra como
usar o Puppeteer com sua função do Cloud Run. Para ver o exemplo completo, na barra de ferramentas dele,
selecione o logotipo do GitHub.
Modelo do Selenium WebDriver
Se você usa o Selenium WebDriver, comece com o exemplo
generic-selenium-nodejs. A amostra, disponível no GitHub, inclui arquivos index.js e package.json.
Para ver o exemplo completo, na barra de ferramentas dele, selecione o logotipo do GitHub.
Modelo do Mocha
Se você escrever testes que dependem do modelo Mocha,
considere se uma sequência de testes deve continuar ou parar quando ocorrer uma
falha. Para interromper uma sequência de testes após uma falha, defina a flag
bail.
Para um exemplo completo que inclui a implantação de uma API, a gravação de um conjunto de testes Mocha de amostra para os endpoints da API e a configuração do monitor sintético, consulte o blog Google Cloud Tutorial do Synthetic Monitoring.
O exemplo mocha-url-ok ilustra como
uma função do Cloud Run pode invocar um
pacote de testes do Mocha e fornece um pacote de testes de exemplo.
Para ver o exemplo completo, na barra de ferramentas dele,
selecione o logotipo do GitHub.
Modelo de link corrompido
O exemplo broken-links-ok
mostra como configurar um verificador de links quebrados.
Para esse modelo, especifique apenas os valores do objeto options. Esse objeto especifica o URI a ser testado e os parâmetros do teste.
Se você usa o Puppeteer, conclua as etapas de configuração obrigatória do Puppeteer.
Para ver o exemplo completo, na barra de ferramentas dele, selecione o logotipo do GitHub.
A seguir
- Criar um monitor sintético
- Criar um verificador de links corrompidos
- Gerenciar monitores sintéticos
- Analisar os resultados de monitores sintéticos