User Tools

Site Tools


de:doc:webui_simulator

Der WebUI Simulator

Wenn man für OOBD Webseiten programmiert, soll ja am Ende ein stetiger Datenaustausch zwischen der Webseite und dem Lua- Script stattfinden.

Während des Programmierens einer solchen Seite kann das aber schon ganz schön nervig werden, denn wo soll man zum Testen und Ausprobieren genau diesen Datenverkehr her bekommen, wenn noch gar nichts fertig ist?

Aus dieser Not heraus entstand der WebUI- Simulator, aber die Not ist damit auch vom Tisch, denn mit dem Simulator ist mal eben schnell getestet.

Funktionsweise

Der Simulator besteht nur aus zwei Standard- Komponenten: Das eine ist nur ein aktueller PHP, der einfach nur “ohne alles” per Start- Parameter -S einen Webserver bereitstellt, der die statischen Inhalte liefert, und das andere ist ein kleines, aber feines python- Script, was den Websocket von OOBD nachbildet.

Simulation von OOBD ohne Konfiguration - wie geht das?

Der Simulator kann die unterschiedlichen Elemente der Weboberfläche bedienen, ohne dafür konfiguriert werden zu müssen. Dieser Trick funktioniert folgendermassen:

Per Protokoll- Definition schickt jedes UI- Element, was angeklickt oder sonstwie angeregt wird und einen aktuellen Messwert von OOBD haben möchte, immer den bisherigen alten Anzeigewert mit. Nach dem Start kennt der Simulator die einzelnen Elemente noch nicht, aber er bekommt bei der ersten Anfrage den Wert mitgeliefert, den der Ersteller der Webseite dem Element als initialen Default- Wert mitgegeben hat.

Aus dem Format dieses Wertes, der ja immer als Text (String) geliefert wird, versucht der Simulator dann abzuleiten, um welche Art von Element es sich handelt. Dabei werden derzeit folgende Formate erkannt:

  1. Binäre Schalter (Werte: “i”,“n”,“y” oder “e”): Findet der Simulatur diese Werte beim ersten Aufruf, nimmt er einen Schalter an und wechselt bei weiteren Aufrufen der Reihe nach diese Werte durch
  2. Numerische Werte (Werte “1234.445 [Unit]”: Wenn sich der Text am Anfang in eine Zahl umwandeln läßt, wird diese Zahl als Maximalwert angenommen. Befindet sich danach noch ein Leerzeichen und weiterer Text, dann wird dies als Maßeinheit der Zahl angenommen und immer mit zurück gegeben. Bei jedem Aufruf zählt der Simulator den Wert in 10% Schritten jeweils bis zum Maximalwert hoch.
  3. Text: Alles, was nicht als Schalter oder Zahl erkannt wurde, ist dann ein Text.. Diesem Text wird bei jedem Durchlauf nur ein Zähler angehängt, um eine Änderung zu sehen.

Starten des Simulators

Am einfachsten wechselt man in der Shell in das /oobd/lua-scripts- Verzeichnis, in dem sich das runTestServers.sh - Script befindet und startet das Script auch dort, denn dann passt die tatsächliche Verzeichnisstruktur zu den relativen Pfaden im HTML- Dokument. Dieses Verzeichnis ist auch das Webroot- Verzeichnis für den Webbrowser, der dann mit der URL http://localhost:8080/meinAppVerzeichnis/meineAppStartseite.html gestartet wird.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
de/doc/webui_simulator.txt · Last modified: 2015/09/14 20:38 by admin