Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von Canary-Vorlagen
Dieser Abschnitt enthält Details zu den jeweiligen Canary-Vorlagen und zu den Aufgaben, für die jede Vorlage am besten geeignet ist. Vorlagen werden für die folgenden Canary-Arten bereitgestellt:
-
Heartbeat-Überwachung
-
API Canary
-
Broken Link Checker
-
Visuelle Überwachung
-
Canary-Recorder
-
GUI Workflow
Wenn Sie eine Vorlage zum Erstellen eines Canary verwenden und die Felder in der CloudWatch-Konsole ausfüllen, wird im Bereich Script editor (Skript-Editor) der Seite das Canary, das Sie erstellen, als Node.js-Skript angezeigt. Sie können Ihr Canary in diesem Bereich auch bearbeiten, um es weiter anzupassen.
Heartbeat-Überwachung
Über Heartbeat-Skripte werden die angegebene URL geladen und ein Screenshot der Seite sowie eine HTTP-Archivdatei (HAR-Datei) gespeichert. Sie speichern auch Protokolle der Zugriffe. URLs
Sie können die HAR-Dateien verwenden, um sich detaillierte Leistungsdaten über die Webseiten anzeigen zu lassen. Sie können die Liste der Web-Anfragen analysieren und Performance-Probleme wie die Ladezeit für ein Element erfassen.
Wenn dein Canary die Runtime-Version syn-nodejs-puppeteer-3.1
oder eine neuere Version verwendet, kannst du den Heartbeat-Monitoring-Blueprint verwenden, um mehrere URLs zu überwachen URLs und dir den Status, die Dauer, die zugehörigen Screenshots und die Fehlerursache für jede URL in der Schrittzusammenfassung des Canary-Run-Berichts anzusehen.
API-Canary
Über API Canarys können die grundlegenden Lese- und Schreibfunktionen einer REST-API getestet werden. REST steht für Representational State Transfer und ist eine Reihe von Regeln, die Entwickler bei der Erstellung einer API befolgen. Eine dieser Regeln besagt, dass ein Link zu einer bestimmten URL einen Datenabschnitt zurückgeben soll.
Canaries kann mit allen Funktionen arbeiten APIs und alle Arten von Funktionen testen. Jeder Canary kann mehrere API-Aufrufe ausführen.
Auf den Kanarischen Inseln, die eine Runtime-Version syn-nodejs-2.2
oder eine neuere Version verwenden, unterstützt der API Canary Blueprint mehrstufige Canaries, die Ihre Schritte als HTTP überwachen. APIs Sie können mehrere auf einem einzigen Canary APIs testen. Jeder Schritt ist eine separate Anforderung, die auf eine andere URL zugreifen kann, unterschiedliche Header verwenden und unterschiedliche Regeln dafür verwenden kann, ob Kopfzeilen und Antwortkörper erfasst werden. Indem Sie Kopfzeilen und Antworttext nicht erfassen, können Sie verhindern, dass sensible Daten aufgezeichnet werden.
Jede Anforderung in einem API-Canary besteht aus folgenden Informationen:
-
aus dem Endpoint (Endpunkt), d. h. die URL, die Sie anfordern.
-
aus der method (Methode), d. h. die Art der Anforderung, die an den Server gesendet wird. REST APIs unterstützt die Operationen GET (Lesen), POST (Schreiben), PUT (Update), PATCH (Update) und DELETE (Löschen).
-
aus den headers (Headern), die Informationen sowohl für den Client als auch für den Server bereitstellen. Sie werden zur Authentifizierung und Bereitstellung von Informationen über den Body-Inhalt verwendet. Eine Liste der gültigen Header finden Sie unter HTTP-Headers
. -
Die data (Daten) (oder der Body), die Informationen enthalten, die an den Server gesendet werden sollen. Diese werden nur für POST-, PUT-, PATCH- oder DELETE-Anforderungen verwendet.
Anmerkung
Canary-API-Blueprints werden von Playwright-Laufzeiten nicht unterstützt.
Die API-Canary-Vorlage unterstützt GET- und POST-Methoden. Wenn Sie diese Vorlage verwenden, müssen Sie Header angeben. Sie können z. B. die Authorization
als Key (Schlüssel) angeben und die erforderlichen Autorisierungsdaten als Value (Wert) für diesen Schlüssel angeben.
Wenn Sie eine POST-Anforderung testen, geben Sie auch den zu sendenden Inhalt im Feld Data (Daten) an.
Integration mit API Gateway
Der API-Blueprint ist in Amazon API Gateway integriert. Auf diese Weise können Sie eine API Gateway-API und Staging aus demselben AWS Konto und derselben Region wie der Canary auswählen oder eine Swagger-Vorlage für die konto- und regionsübergreifende API-Überwachung von API Gateway hochladen. Sie können dann die restlichen Details in der Konsole auswählen, um den Canary zu erstellen, anstatt sie von Grund auf neu einzugeben. Weitere Informationen zum API Gateway finden Sie unter Was ist Amazon API Gateway?.
Verwenden einer privaten API
Sie können in Amazon API Gateway einen Canary erstellen, der eine private API verwendet. Weitere Informationen finden Sie unter Private API in Amazon API Gateway erstellen.
Broken Link Checker
Der Broken Link Checker sammelt alle Links innerhalb der URL, die Sie mit document.getElementsByTagName('a')
testen. Er testet nur bis zu der von Ihnen angegebenen Anzahl von Links, wobei die URL selbst als erster Link gezählt wird. Wenn Sie beispielsweise alle Links auf einer Seite überprüfen möchten, die fünf Links enthält, müssen Sie angeben, dass das Canary sechs Links verfolgen soll.
Canarys für Broken Link Checker, die mit der syn-nodejs-2.0-beta
-Laufzeit oder höher erstellt wurden, unterstützen die folgenden zusätzlichen Features:
-
Stellt einen Bericht bereit, der die überprüften Links, Statuscode, Fehlergrund (falls vorhanden) sowie Screenshots der Quell- und Zielseite enthält.
-
Wenn Sie Canary-Ergebnisse anzeigen, können Sie filtern, um nur die fehlerhaften Links anzuzeigen, und dann den Link basierend auf dem Grund des Fehlers beheben.
-
Diese Version erfasst für jeden Link kommentierte Quellseiten-Screenshots und hebt den Anker hervor, in dem der Link gefunden wurde. Ausgeblendete Komponenten werden nicht mit Anmerkungen versehen.
-
Sie können diese Version so konfigurieren, dass Screenshots von Quell- und Zielseiten, nur Quellseiten oder nur Zielseiten erfasst werden.
-
Diese Version behebt ein Problem in der früheren Version, bei dem das Canary-Skript nach dem ersten gebrochenen Link stoppt, selbst wenn mehr Links von der ersten Seite gescrapt werden.
Anmerkung
Blueprints zur Überprüfung defekter Links werden von Playwright-Laufzeiten nicht unterstützt.
Um einen vorhandenen Canary mithilfe der neuen Runtime syn-1.0
zu aktualisieren, müssen Sie den Canary löschen und neu erstellen. Durch das Aktualisieren eines vorhandenen Canarys auf die neue Laufzeitumgebung werden diese Features nicht verfügbar gemacht.
Ein Broken Link Checker Canary (Canary für fehlerhafte Links) erkennt die folgenden Arten von Verbindungsfehlern:
404 Seite nicht gefunden
Ungültiger Hostname
Falsche URL. In der URL fehlt z. B. eine Klammer, sie weist zusätzliche Schrägstriche auf oder es wird das falsche Protokoll verwendet.
Ungültiger HTTP-Antwortcode
Der Hostserver gibt leere Antworten ohne Inhalt und ohne Antwortcode zurück.
Die HTTP-Anforderungen weisen während der Canary-Ausführung ständig Zeitüberschreitungen auf.
Der Host bricht immer wieder Verbindungen ab, weil er falsch konfiguriert oder überlastet ist.
Blueprint für die visuelle Überwachung
Der visuelle Monitoring-Blueprint enthält Code, um Screenshots, die während eines Canary-Laufs aufgenommen wurden, mit Screenshots zu vergleichen, die während eines Baseline-Canary-Laufs aufgenommen wurden. Wenn die Diskrepanz zwischen den beiden Screenshots einen Schwellenwert überschreitet, schlägt der Canary fehl. Die visuelle Überwachung wird auf Canaries unterstützt, auf denen syn-puppeteer-node-3.2 und höher ausgeführt wird. Es wird derzeit nicht auf den Kanarischen Inseln unterstützt, auf denen Python und Selenium ausgeführt werden oder Playwright-Laufzeiten verwenden.
Der Blueprint für die visuelle Überwachung enthält die folgende Codezeile im Canary-Standardskript für Blueprints, die die visuelle Überwachung ermöglicht.
syntheticsConfiguration.withVisualCompareWithBaseRun(true);
Wenn der Canary zum ersten Mal erfolgreich ausgeführt wird, nachdem diese Zeile zum Skript hinzugefügt wurde, verwendet er die während dieser Ausführung erstellten Screenshots als Vergleichsbasis. Nach dem ersten Canary-Run kannst du die CloudWatch Konsole verwenden, um den Canary zu bearbeiten, um einen der folgenden Schritte auszuführen:
Legen Sie den nächsten Lauf des Canarys als neue Basislinie fest.
Zeichnen Sie Grenzen auf dem aktuellen Baseline-Screenshot, um Bereiche des Screenshots festzulegen, die bei visuellen Vergleichen ignoriert werden sollen.
Entfernen Sie einen Screenshot, der für die visuelle Überwachung verwendet wird.
Weitere Informationen zur Verwendung der CloudWatch Konsole zum Bearbeiten eines Canary finden Sie unterEinen Canary bearbeiten oder löschen.
Sie können den Canary-Run, der als Baseline verwendet wird, auch ändern, indem Sie die lastrun
Parameter nextrun
oder verwenden oder eine Canary-Run-ID in der UpdateCanaryAPI angeben.
Wenn Sie den Blueprint für die visuelle Überwachung verwenden, geben Sie die URL ein, unter der der Screenshot erstellt werden soll, und geben einen Differenzschwellenwert als Prozentsatz an. Nach dem Baseline-Lauf lösen zukünftige Läufe des Canary, die einen visuellen Unterschied größer als dieser Schwellenwert erkennen, einen Canary-Fehler aus. Nach dem Baseline-Lauf können Sie den Canary auch bearbeiten, um Grenzen auf dem Baseline-Screenshot zu „zeichnen“, die Sie während der visuellen Überwachung ignorieren möchten.
Die visuelle Überwachungsfunktion basiert auf dem ImageMagick Open-Source-Software-Toolkit. Weitere Informationen finden Sie unter ImageMagick
Canary-Recorder
Mit dem Canary Recorder-Blueprint können Sie den CloudWatch Synthetics Recorder verwenden, um Ihre Klick- und Tippaktionen auf einer Website aufzuzeichnen und automatisch ein Node.js -Skript zu generieren, mit dem Sie einen Canary erstellen können, der dieselben Schritte ausführt. Der CloudWatch Synthetics Recorder ist eine von Amazon bereitgestellte Google Chrome-Erweiterung. Der Canary Recorder wird für Kanarienvögel, die die Playwright-Laufzeit verwenden, nicht unterstützt.
Credits: Der CloudWatch Synthetics Recorder basiert auf dem Headless
Weitere Informationen finden Sie unter Verwenden des CloudWatch Synthetics Recorders für Google Chrome.
GUI Workflow Builder
Mit der GUI-Workflow-Builder-Vorlage wird überprüft, ob Aktionen auf Ihrer Webseite ausgeführt werden können. Wenn Sie zum Beispiel eine Webseite mit einem Anmeldeformular haben, kann das Canary die Benutzer- und Passwortfelder ausfüllen und das Formular abschicken, um zu überprüfen, ob die Webseite ordnungsgemäß funktioniert.
Wenn Sie eine Vorlage verwenden, um diesen Typ von Canary zu erstellen, geben Sie die Aktionen an, die das Canary auf der Webseite ausführen soll. Folgende Aktionen können Sie verwenden:
Click (Klicken) – Wählt das von Ihnen angegebene Element aus und simuliert einen Benutzer, der auf das Element klickt oder es auswählt.
Um das Element in einem Skript „Node.js“ anzugeben, verwenden Sie
[id=]
odera[class=]
.Um das Element in einem Python-Skript anzugeben, verwenden Sie
xpath //*[@id=]
oder//*[@class=]
.Verify selector (Auswahl überprüfen) – Überprüft, ob das angegebene Element auf der Webseite vorhanden ist. Dieser Test ist nützlich, um zu überprüfen, ob eine vorherige Aktion dazu geführt hat, dass die Seite mit den richtigen Elementen ausgefüllt wird.
Um das zu verifizierende Element in einem Skript „Node.js“ anzugeben, verwenden Sie
[id=]
odera[class=]
.Um das zu überprüfende Element in einem Python-Skript anzugeben, verwenden Sie
xpath //*[@id=]
oder//*[class=]
.Verify text (Text überprüfen) – Überprüft, ob die angegebene Zeichenfolge im Zielelement enthalten ist. Dieser Test ist nützlich, um zu überprüfen, ob eine vorherige Aktion dazu geführt hat, dass der richtige Text angezeigt wird.
Um das Element in einem Node.js-Skript anzugeben, verwenden Sie ein Format wie
div[@id=]//h1
, da diese Aktion diewaitForXPath
-Funktion in Puppeteer verwendet.Um das Element in einem Python-Skript anzugeben, verwenden Sie das xpath-Format wie
//*[@id=]
oder //*[@class=], da diese Aktion dieimplicitly_wait
-Funktion in Selenium verwendet.Input text (Eingabetext) – Schreibt den angegebenen Text in das Zielelement.
Um das zu verifizierende Element in einem Skript „Node.js“ anzugeben, verwenden Sie
[id=]
odera[class=]
.Um das zu überprüfende Element in einem Python-Skript anzugeben, verwenden Sie
xpath //*[@id=]
oder//*[@class=]
.Click with navigation (Klicken bei Navigation) – Wartet auf das Laden der gesamten Seite, nachdem das angegebene Element ausgewählt wurde. Dies ist besonders nützlich, wenn Sie die Seite neu laden müssen.
Um das Element in einem Skript „Node.js“ anzugeben, verwenden Sie
[id=]
odera[class=]
.Um das Element in einem Python-Skript anzugeben, verwenden Sie
xpath //*[@id=]
oder//*[@class=]
.
Der folgende Blueprint verwendet beispielsweise Node.js. Es wird auf zuerst auf firstButton in der angegebenen URL geklickt und überprüft, ob die erwartete Auswahl mit dem erwarteten Text angezeigt wird, der Name Test_Customer
wird in das Feld Name eingegeben, es wird auf die Schaltfläche Login (Anmelden) geklickt und dann überprüft, ob die Anmeldung erfolgreich ist, indem auf der nächsten Seite nach dem Text Welcome gesucht wird.
GUI-Workflow-Canaries, die die folgenden Laufzeiten verwenden, bieten auch eine Zusammenfassung der Schritte, die für jeden Canary-Lauf ausgeführt werden. Sie können die Screenshots und die Fehlermeldung, die jedem Schritt zugeordnet sind, verwenden, um die Ursache des Fehlers zu finden.
syn-nodejs-2.0
oder höhersyn-python-selenium-1.0
oder höher