User Manual

awaBerry | Testen: httpservertest

Testen Sie den awaBerry MCP-Server über HTTP – Schritt-für-Schritt-Anleitung zum Senden von Testanfragen und Validieren von Serverantworten mit...

Test: httpservertest

Zusammenfassung

Diese Seite beschreibt den Prozess zum Testen der HTTP-Serverkomponente. Dies beinhaltet das Starten eines lokalen Node.js HTTP-Servers und die anschließende Ausführung eines Testclient-Skripts. Der Testclient (testHttpServer.js) stellt eine Verbindung zum Server unter Verwendung von projectKey, projectSecret und deviceName aus einer .env-Datei her und sendet anschließend einen execute-Befehl (standardmäßig 'date'), um Informationen von einem konfigurierten Gerät abzurufen.

Beschreibung

Voraussetzungen

Stellen Sie sicher, dass Ihre .env-Datei die folgenden Umgebungsvariablen enthält:

  • projectKey: Der eindeutige Schlüssel Ihres Projekts.
  • projectSecret: Das Geheimnis Ihres Projekts.
  • deviceName: Der Name des Geräts, mit dem eine Verbindung hergestellt werden soll.

Das Skript testHttpServer.js prüft auf diese Variablen und meldet einen Fehler, falls diese fehlen.

Starten des HTTP-Servers

Navigieren Sie zunächst in das Projektverzeichnis und starten Sie den HTTP-Server mit Node.js:

node httpserver/server.js

Nach erfolgreicher Ausführung sollten Sie eine Ausgabe ähnlich der folgenden sehen:

MCP Server running on http://localhost:8080
Endpoints:
  POST /connect
  POST /execute

Ausführen des Testclients

Führen Sie in einem separaten Terminal das Testclient-Skript aus:

node test/httpservertest/testHttpServer.js

Die erwartete Ausgabe dieses Befehls ist das aktuelle Datum, das über den Befehl 'date' vom konfigurierten Gerät empfangen wurde.

Testclient (testHttpServer.js) Übersicht

Das Skript testHttpServer.js führt die folgenden Aktionen aus:

  1. Konfigurationsladung: Es lädt Umgebungsvariablen (projectKey, projectSecret, deviceName und einen optionalen command) aus der .env-Datei, die sich zwei Verzeichnisse über dem Speicherort des Skripts befindet.
  2. Verbindungsphase: Es versucht, eine Verbindung zum HTTP-Server (http://localhost:8090/connect) unter Verwendung des konfigurierten projectKey, projectSecret und deviceName herzustellen.
  3. Befehlsausführungsphase: Wenn die Verbindung erfolgreich ist (angezeigt durch den Status 'connected' in der Antwort), extrahiert es den sessionToken und die deviceuuid aus der Verbindungsantwort. Anschließend sendet es einen execute-Befehl (standardmäßig 'date' oder unter Verwendung der command-Variable aus .env) an den /execute-Endpunkt des Servers, zusammen mit dem sessionToken und der deviceuuid.
  4. Fehlerbehandlung: Das Skript enthält eine grundlegende Fehlerbehandlung für fehlende Umgebungsvariablen und netzwerkbezogene Probleme während der Fetch-Operationen.