{"componentChunkName":"component---src-templates-docs-js","path":"/de-de/guides/setup-teardown-scripts","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"d4f6a4d3-823c-5a35-936c-e7cd955c360a","title":"Setup- und Teardown-Skripte","slug":"/de-de/guides/setup-teardown-scripts","locale":"de-DE"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Setup- und Teardown-Skripte\",\n  \"metaTitle\": \"API-Monitoring Setup- und Teardown-Skripte: OAuth, Signierung, Aufräumen | Anleitungen | LoadFocus\",\n  \"metaDescription\": \"Führen Sie vor und nach einem API-Check in LoadFocus ein Skript aus: ein OAuth-Token holen, eine Anfrage signieren, Testdaten erzeugen und danach aufräumen. Setup- und Teardown-Skripte für API-Monitore.\",\n  \"order\": 11\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Setup- und Teardown-Skripte\"), mdx(\"p\", null, \"Manche API-Endpunkte lassen sich nicht mit einer statischen Anfrage \\xFCberwachen. Sie brauchen bei jedem Aufruf ein frisches Token, einen signierten Header oder eine eindeutige Nutzlast, und sie hinterlassen unter Umst\\xE4nden Daten, die aufger\\xE4umt werden sollten. LoadFocus-\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://loadfocus.com/api-monitoring\"\n  }, \"API-Monitore\"), \" lassen Sie ein \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Setup-Skript\"), \" direkt vor der Anfrage und ein \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Teardown-Skript\"), \" direkt nach der Antwort ausf\\xFChren, sodass sich der Check bei jedem Lauf selbst vorbereitet und aufr\\xE4umt.\"), mdx(\"p\", null, \"Setup- und Teardown-Skripte gelten f\\xFCr \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"API-Checks\"), \". Browser-Checks sind bereits ein vollst\\xE4ndiges Skript (der Benutzerablauf selbst), und Multistep-Checks geben Daten \\xFCber Variablen zwischen den Schritten weiter \\u2014 sie decken denselben Bedarf auf andere Weise ab.\"), mdx(\"h2\", null, \"So funktioniert es\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Das \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Setup-Skript\"), \" l\\xE4uft zuerst und erh\\xE4lt das \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \"-Objekt. Alles, was Sie an \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \" \\xE4ndern (Header, URL, Body), wird f\\xFCr den eigentlichen Aufruf verwendet. Hier holen Sie ein Token, signieren die Anfrage oder bauen eine eindeutige Nutzlast.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"LoadFocus sendet dann die Anfrage.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Das \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Teardown-Skript\"), \" l\\xE4uft zuletzt und erh\\xE4lt sowohl \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \" als auch \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"response\"), \". Hier l\\xF6schen Sie eine vom Check erstellte Ressource oder bereinigen sensible Daten aus den Logs.\")), mdx(\"p\", null, \"Beide Skripte laufen bei jedem Check-Lauf in einer isolierten Sandbox, in jeder Region, mit erfasster Konsolenausgabe, damit Sie nachvollziehen k\\xF6nnen, was passiert ist.\"), mdx(\"h2\", null, \"Was Sie verwenden k\\xF6nnen\"), mdx(\"p\", null, \"In einem Setup- oder Teardown-Skript k\\xF6nnen Sie \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"require\"), \":\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"got\")), \" und \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"axios\")), \" \\u2014 HTTP-Aufrufe machen (zum Beispiel Zugangsdaten gegen ein OAuth-Token tauschen).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"crypto\")), \" \\u2014 Anfragen signieren (HMAC, Hashes) f\\xFCr APIs, die eine Signatur verlangen.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"@faker-js/faker\")), \" \\u2014 realistische, eindeutige Testdaten erzeugen.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"url\")), \" und \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"path\")), \" \\u2014 Helfer zum Bauen von URLs und Pfaden.\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"console.log\"), \" ist verf\\xFCgbar und seine Ausgabe wird unter den Logs des Skripts angezeigt.\"), mdx(\"h2\", null, \"Beispiel: ein OAuth-Token im Setup holen\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const got = require('got');\\n\\nconst tokenResponse = await got.post('https://auth.example.com/oauth/token', {\\n  json: {\\n    grant_type: 'client_credentials',\\n    client_id: '{{secrets.CLIENT_ID}}',\\n    client_secret: '{{secrets.CLIENT_SECRET}}',\\n  },\\n}).json();\\n\\n// Das Token auf die Anfrage anwenden, die LoadFocus gleich sendet\\nrequest.headers = request.headers || [];\\nrequest.headers.push({ name: 'Authorization', value: 'Bearer ' + tokenResponse.access_token });\\n\")), mdx(\"h2\", null, \"Beispiel: eine Anfrage signieren\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const crypto = require('crypto');\\n\\nconst timestamp = Date.now().toString();\\nconst signature = crypto\\n  .createHmac('sha256', '{{secrets.SIGNING_KEY}}')\\n  .update(timestamp + request.url)\\n  .digest('hex');\\n\\nrequest.headers = request.headers || [];\\nrequest.headers.push({ name: 'X-Timestamp', value: timestamp });\\nrequest.headers.push({ name: 'X-Signature', value: signature });\\n\")), mdx(\"h2\", null, \"Beispiel: im Teardown aufr\\xE4umen\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const got = require('got');\\n\\n// Falls die Anfrage eine Ressource erstellt hat, l\\xF6schen, damit der Monitor keine Spur hinterl\\xE4sst\\nif (response.statusCode === 201 && response.body) {\\n  const created = JSON.parse(response.body);\\n  await got.delete('https://api.example.com/items/' + created.id, {\\n    headers: { Authorization: request.headers.find(h => h.name === 'Authorization').value },\\n  });\\n}\\n\")), mdx(\"h2\", null, \"Secrets und Variablen\"), mdx(\"p\", null, \"Verweisen Sie mit \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"{{secrets.NAME}}\"), \" und \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"{{variables.NAME}}\"), \" in einem Skript auf Ihre gespeicherten \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://loadfocus.com/api-monitoring\"\n  }, \"Secrets und Variablen\"), \". LoadFocus ersetzt sie zur Laufzeit, sodass Zugangsdaten und Signierschl\\xFCssel niemals im Klartext im Skript stehen.\"), mdx(\"h2\", null, \"Ihre Skripte testen\"), mdx(\"p\", null, \"Im Check-Editor f\\xFChrt die \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Ausf\\xFChren\"), \"-Schaltfl\\xE4che neben jedem Skript dieses live gegen den echten Endpunkt aus und zeigt die erfassten Logs und das Ergebnis (Erfolg oder Fehlermeldung). Damit pr\\xFCfen Sie, ob Ihr Token-Austausch oder Ihre Signatur funktioniert, bevor Sie den Monitor speichern.\"), mdx(\"h2\", null, \"Grenzen\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Jeder Skript-Body ist auf 100 KB begrenzt.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Das Setup-Skript l\\xE4uft bei jeder Check-Ausf\\xFChrung \\u2014 halten Sie Token-Austausche effizient, da ein langsames Setup zur gemessenen Zeit des Checks beitr\\xE4gt.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Schl\\xE4gt das Setup-Skript fehl, wird die Anfrage nicht gesendet und der Check als fehlgeschlagen markiert, was meist gew\\xFCnscht ist (keine g\\xFCltige Auth bedeutet kein g\\xFCltiger Check).\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#setup--und-teardown-skripte","title":"Setup- und Teardown-Skripte","items":[{"url":"#so-funktioniert-es","title":"So funktioniert es"},{"url":"#was-sie-verwenden-können","title":"Was Sie verwenden können"},{"url":"#beispiel-ein-oauth-token-im-setup-holen","title":"Beispiel: ein OAuth-Token im Setup holen"},{"url":"#beispiel-eine-anfrage-signieren","title":"Beispiel: eine Anfrage signieren"},{"url":"#beispiel-im-teardown-aufräumen","title":"Beispiel: im Teardown aufräumen"},{"url":"#secrets-und-variablen","title":"Secrets und Variablen"},{"url":"#ihre-skripte-testen","title":"Ihre Skripte testen"},{"url":"#grenzen","title":"Grenzen"}]}]},"parent":{"__typename":"File","relativePath":"de-de/guides/setup-teardown-scripts.md"},"frontmatter":{"metaTitle":"API-Monitoring Setup- und Teardown-Skripte: OAuth, Signierung, Aufräumen | Anleitungen | LoadFocus","metaDescription":"Führen Sie vor und nach einem API-Check in LoadFocus ein Skript aus: ein OAuth-Token holen, eine Anfrage signieren, Testdaten erzeugen und danach aufräumen. Setup- und Teardown-Skripte für API-Monitore.","order":11}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/de-de","title":"Willkommen bei der neuen LoadFocus-Dokumentation"}}},{"node":{"fields":{"slug":"/de-de/guides","title":"Anleitungen"}}},{"node":{"fields":{"slug":"/de-de/pricing","title":"Haeufig gestellte Fragen zu Preisen"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base","title":"Wissensdatenbank"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/understanding-declined-card-payments","title":"Warum wurde meine Kartenzahlung abgelehnt?"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/understanding-differences-between-http-and-https","title":"Unterschiede zwischen HTTP und HTTPS"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring","title":"API-Monitoring"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/how-to-update-card-details","title":"So aktualisieren Sie Kartendaten bei fehlgeschlagenen Zahlungen"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"Lasttests fuer lokal gehostete Websites oder APIs"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"Kein Traffic in Google Analytics waehrend Lasttests"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/using-query-parameters","title":"So verwenden Sie URL-Query-Parameter"}}},{"node":{"fields":{"slug":"/de-de/guides/external-reports","title":"Externe Berichterstattung"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/what-is-an-http-method","title":"Was ist eine HTTP-Anfragemethode"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing","title":"Lasttests mit Apache JMeter"}}},{"node":{"fields":{"slug":"/de-de/guides/k6-load-testing","title":"k6 Lasttest"}}},{"node":{"fields":{"slug":"/de-de/knowledge-base/using-valid-url-endpoints","title":"Was ist eine gueltige URL fuer einen Lasttest"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing","title":"Lasttests"}}},{"node":{"fields":{"slug":"/de-de/guides/mcp","title":"KI-Assistenten (MCP)"}}},{"node":{"fields":{"slug":"/de-de/guides/onboarding","title":"LoadFocus-Onboarding"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance","title":"Website-Performance ueberwachen"}}},{"node":{"fields":{"slug":"/de-de/guides/openapi-import","title":"Import aus OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/de-de/guides/reusable-snippets","title":"Wiederverwendbare Snippets"}}},{"node":{"fields":{"slug":"/de-de/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/de-de/guides/teams","title":"Teamverwaltung"}}},{"node":{"fields":{"slug":"/de-de/guides/setup-teardown-scripts","title":"Setup- und Teardown-Skripte"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Herunterladen von .JMX- und .CSV-Dateien in LoadFocus"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/alert-channels","title":"Benachrichtigungskanäle: Discord, PagerDuty & Opsgenie"}}},{"node":{"fields":{"slug":"/de-de/guides/external-reports/azure-app-insights-integration","title":"Azure App Insights-Integration"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/alert-configuration","title":"Alert-Konfiguration"}}},{"node":{"fields":{"slug":"/de-de/guides/k6-load-testing/analyzing-k6-test-results","title":"Analyse der k6 Lasttest-Ergebnisse"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"So fuehren Sie einen neuen Apache JMeter-Lasttest durch"}}},{"node":{"fields":{"slug":"/de-de/guides/k6-load-testing/how-to-run-k6-load-test","title":"So führen Sie einen neuen k6 Lasttest durch"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/alert-metrics","title":"Alert-Metriken"}}},{"node":{"fields":{"slug":"/de-de/guides/external-reports/datadog-integration","title":"Datadog-Integration"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/analyzing-load-test-results","title":"So pruefen Sie Lasttestergebnisse"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Wettbewerbervergleich"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Authorization Code Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline-Vergleich zwischen Lasttests"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/check-groups","title":"Prüfungsgruppen"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Client Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/custom-domain-status-page","title":"So fügen Sie Ihrer Statusseite eine eigene Domain hinzu"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/core-web-vitals-metrics","title":"Was sind die Core Web Vitals?"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/getting-started","title":"Erste Schritte"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/common-http-error-codes","title":"Haeufige HTTP-Fehlerstatuscodes"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Lasttest-API-Integration"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"Welche Hardwareressourcen sind meinem Konto fuer Lastgeneratoren zugewiesen?"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-anomalies","title":"Lasttest-Anomalien"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/dashboards","title":"Dashboards"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/api-check-results","title":"API-Pruefergebnisse verstehen"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/crafting-perfect-test-names","title":"Perfekte Testnamen erstellen"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat-Monitore (Cron-Jobs)"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-error-analysis","title":"Fehleranalyse"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/decoding-average-response-times","title":"Durchschnittliche Antwortzeit entschluesseln"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine-Zustandsueberwachung"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-insights","title":"Lasttest-Erkenntnisse"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/how-to-create-new-alert","title":"Neuen Alert erstellen"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Neuen Website-Performance-Test erstellen"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/multistep-api-checks","title":"Mehrstufige API-Prüfungen"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL-Dateianalyse"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/http-authentication","title":"HTTP-Authentifizierung"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/deep-dive-samples-in-load-testing","title":"Was sind Samples bei Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check","title":"So erstellen Sie eine neue API-Pruefung"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter-Logdateianalyse"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/demo","title":"Demo"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/end-time-in-load-testing","title":"Die Bedeutung der 'Endzeit' bei Lasttests verstehen"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/pdf-report-branding","title":"Gebrandete PDF-Berichte"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Zeitleisten-Ansicht"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/status-pages","title":"Erstellen Sie eine öffentliche Statusseite für Ihre Monitore"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/erros-and-reponse-codes","title":"Fehler und Antwortcodes"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"JMeter-Dateien auf LoadFocus hochladen: Eine Schritt-fuer-Schritt-Anleitung"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/variables","title":"Variablen"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/tcp-monitors","title":"TCP-Port-Monitore"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/geographical-test-location-in-load-testing","title":"Geografischer Teststandort bei Lasttests"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/performance-budgets","title":"Performance Budgets & Alerts"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/getting-started","title":"Erste Schritte"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/real-user-field-data","title":"Echte Nutzer-Feld-Daten (CrUX)"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/headers-and-manage-presets","title":"Header und Header-Vorlagen"}}},{"node":{"fields":{"slug":"/de-de/guides/monitor-website-performance/sitemap-import","title":"Sitemap-Import"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Verwendung mehrerer CSV-Dateien mit JMeter-Engines in LoadFocus"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/how-to-url-query-parameters","title":"Query-Parameter"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularitaet in Lasttestergebnissen und Diagrammanzeige"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/how-to-run-new-load-test","title":"So fuehren Sie einen neuen Lasttest durch"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/load-generators-hardware-infrastructure","title":"Welche Hardwareressourcen sind meinem Konto fuer Lastgeneratoren zugewiesen?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Implicit Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/http-methods-overview-load-testing","title":"HTTP-Methoden: Ein Ueberblick"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Refresh Token Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/load-test-result-ai-analysis","title":"KI-Analyse von Lasttestergebnissen"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Password Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/using-cookies","title":"Verwendung von Cookies"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/maintenance-windows","title":"Wartungsfenster"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/start-time-in-load-testing","title":"Die Bedeutung der Startzeit bei Lasttests verstehen"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-are-virtual-users-load-testing","title":"Was sind virtuelle Benutzer bei Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-grant-type","title":"Was ist ein Grant Type?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"Was sind Hochlaufschritte bei Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-delay-when-running-a-load-test","title":"Was ist Verzoegerung bei der Durchfuehrung eines Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-oauth-2-0-authorization","title":"OAuth 2.0 Autorisierung"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/white-label-report-branding","title":"Gebrandete PDF-Berichte"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"Was ist die Hochlaufzeit bei Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-are-iterations-load-testing","title":"Iterationen bei Lasttests meistern: Ein tiefer Einblick"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-test-run-id","title":"Was ist eine Testlauf-ID?"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/use-cases","title":"Anwendungsfaelle"}}},{"node":{"fields":{"slug":"/de-de/guides/load-testing/what-is-duration-in-load-testing","title":"Was ist die Dauer bei Lasttests?"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/activate-deactivate","title":"Aktivieren/Deaktivieren"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/alert-channels","title":"Benachrichtigungskanaele"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/frequency","title":"Haeufigkeit"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/friendly-check-name","title":"Benutzerfreundlicher Pruefungsname"}}},{"node":{"fields":{"slug":"/de-de/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Integration des JMeter API Clients mit CI/CD-Pipelines"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/mute-unmute","title":"Stummschalten/Entstummschalten"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/locations","title":"Standorte"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/request-configuration","title":"Anfragekonfiguration"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/request-preview","title":"Anfragevorschau"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/response-time-limits","title":"Antwortzeit-Limits"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/save-run","title":"Speichern und Ausfuehren"}}},{"node":{"fields":{"slug":"/de-de/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook-Kanal"}}}]}},"pageContext":{"id":"d4f6a4d3-823c-5a35-936c-e7cd955c360a","locale":"de-DE"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}