Este documento descreve os modelos e o código de exemplo disponíveis
para ajudar você a criar monitores sintéticos. As funções de exemplo estão disponíveis no repositório do GitHub Google Cloud/synthetics-sdk-nodjs
.
Se você escrever testes e não depender de um modelo, verifique se o teste
é aprovado, a menos que uma Error
seja gerada. Recomendamos
que você use a biblioteca Assert
para garantir que,
quando ocorrerem falhas, elas sejam atribuídas à linha de código adequada.
Modelos genéricos
Os modelos genéricos são configurados para coletar dados de rastreamento e registro de solicitações HTTP de saída. A solução aproveita o módulo auto-instrumentation-node do OpenTelemetry e o registrador Winston. Devido à dependência de produtos de código aberto, é esperado que haja mudanças na estrutura dos dados de rastreamento e registro. Portanto, os dados de registro e de rastreamento coletados devem ser usados apenas para fins de depuração.
Você pode implementar sua própria abordagem para coletar dados de trace e registro de solicitações HTTP
de saída. Para conferir um exemplo de abordagem personalizada,
consulte a classe SyntheticAutoInstrumentation
.
Exemplo genérico de Node.js
O exemplo generic-synthetic-nodejs
ilustra
como consultar um URL. Este exemplo contém o mesmo que a função padrão
exibida pelo console do Google Cloud. Para conferir o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
Exemplo de TypeScript
O exemplo generic-synthetic-typescript
ilustra como consultar um URL. Para conferir o exemplo completo, clique em more_vert Mais e selecione Ver no 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.cjs
no diretório de origem da sua função do Cloud Run:Adicione o seguinte script ao arquivo
package.json
da 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 conferir o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
Modelo do Selenium WebDriver
Se você usa o Selenium WebDriver, comece com o exemplo
generic-selenium-nodejs
. O exemplo,
disponível no GitHub, inclui um arquivo index.js
e package.json
.
Para ver o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
Modelo Mocha
Se você escrever testes que dependem do modelo Mocha,
considere se uma sequência de testes deve continuar ou parar quando uma
falha ocorrer. Para interromper uma sequência de testes após uma falha, defina a flag
bail
.
Para conferir um exemplo completo que inclui a implantação de uma API, um conjunto de testes do Mocha para os endpoints da API e como configurar o monitor sintético, consulte o blog Google Cloud Tutorial de monitoramento sintético.
O exemplo mocha-url-ok
ilustra como
uma função do Cloud Run pode invocar um
pacote de testes Mocha e fornece um exemplo de pacote de testes.
Para conferir o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
Modelo de link corrompido
O exemplo broken-links-ok
ilustra como configurar um verificador de links quebrados.
Para este modelo, você só especifica 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 da Configuração necessária do Puppeteer.
Para ver o exemplo completo, clique em more_vert Mais e selecione Ver no GitHub.
A seguir
- Criar um monitor sintético
- Criar um verificador de links quebrados
- Gerenciar monitores sintéticos
- Conhecer os resultados do monitor sintético