Este documento descreve os modelos e o código de exemplo disponíveis para ajudar a criar monitorizações sintéticas. As funções de exemplo estão disponíveis no repositório do GitHub
Google Cloud/synthetics-sdk-nodjs
.
Se escrever testes e não depender de um modelo, certifique-se de que o teste é aprovado, a menos que seja gerado um Error
. Recomendamos que use a biblioteca Assert
para garantir que, quando ocorrem falhas, estas são atribuídas à linha de código adequada.
Modelos genéricos
Os modelos genéricos estão configurados para recolher dados de rastreio e registo para pedidos HTTP de saída. A solução tira partido do módulo auto-instrumentation-node do OpenTelemetry e do winston logger. Devido à dependência de produtos de código aberto, deve esperar alterações na estrutura dos dados de rastreio e registo. Por conseguinte, os dados de registo e rastreio recolhidos devem ser usados apenas para fins de depuração.
Pode implementar a sua própria abordagem para recolher dados de rastreio e registo para pedidos HTTP de saída. Para ver um exemplo de uma 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 predefinida apresentada pela Google Cloud consola. Para ver o exemplo completo, clique em more_vert Mais
e, de seguida, selecione Ver no GitHub.
Exemplo de TypeScript
O exemplo generic-synthetic-typescript
ilustra como consultar um URL. Para ver o exemplo completo, clique em more_vert Mais
e, de seguida, selecione Ver no GitHub.
Modelo do Puppeteer
Se usar o Puppeteer, considere começar com o exemplo generic-puppeteer-nodejs
.
Configuração do Puppeteer necessária
Para usar o Puppeteer, certifique-se de que conclui os seguintes passos:
Inclua
.puppeteerrc.cjs
no diretório de origem da sua função do Cloud Run:Adicione o seguinte script ao ficheiro
package.json
da sua função do Cloud Run:"scripts": { "gcp-build": "node node_modules/puppeteer/install.mjs" },
Amostra de marionetista
O exemplo generic-puppeteer-nodejs
ilustra como usar o Puppeteer com a sua função do Cloud Run. Para ver o exemplo completo, clique em more_vert Mais
e, de seguida, selecione Ver no GitHub.
Modelo do Selenium WebDriver
Se usar o Selenium WebDriver, considere começar com o exemplo generic-selenium-nodejs
. A amostra, que está disponível no GitHub, inclui um ficheiro index.js
e package.json
.
Para ver o exemplo completo, clique em more_vert Mais e, de seguida, selecione Ver no GitHub.
Modelo do Mocha
Se escrever testes que dependam do modelo Mocha, considere se uma sequência de testes deve continuar ou parar quando ocorrer uma falha. Para parar uma sequência de testes após uma falha, tem de definir a flag bail
.
Para ver um exemplo completo que inclui a implementação de uma API, um conjunto de testes Mocha de exemplo para os pontos finais da API e como configurar a monitorização sintética, consulte o blogue Google Cloud Tutorial de monitorização sintética.
O exemplo mocha-url-ok
ilustra como uma função do Cloud Run pode invocar um conjunto de testes do Mocha e fornece um conjunto de testes de exemplo.
Para ver o exemplo completo, clique em more_vert Mais
e, de seguida, selecione Ver no GitHub.
Modelo de link danificado
O exemplo broken-links-ok
ilustra como configurar um verificador de links quebrados.
Para este modelo, especifica apenas os valores do objeto options
. Este objeto especifica o URI a testar e os parâmetros do teste.
Se usar o Puppeteer, certifique-se de que conclui os passos de configuração do Puppeteer necessários.
Para ver o exemplo completo, clique em more_vert Mais e, de seguida, selecione Ver no GitHub.
O que se segue?
- Crie uma monitorização sintética
- Crie um verificador de links danificados
- Faça a gestão de monitores sintéticos
- Explore os resultados da monitorização sintética