© faithie/Shutterstock.com, © S&S Media
Teil 1: Die Browserkonsole als remote Logausgabe verwenden

Der ferngesteuerte Browser


Die Fähigkeiten eines Browsers zu nutzen, auch wenn die eigentliche Applikation gar nicht im Browser läuft, wie kann das gehen? Mittels WebSockets und ein wenig JavaScript lässt sich das im Prinzip einfach umsetzen, um remote Browser-Console-Logging und Browser-Testing zu nutzen.

Video: Spaß mit TypeScript: Mit TypeScript und Node.js einen Static Site Generator selbst erstellen

Der Anteil von webbasierten Applikationen steigt ständig, seien es klassische Browser-Apps, responsive Apps, oder Apps, die über Container wie Cordova oder Electron „nativ verpackt“ werden. Darüber hinaus bieten Browser umfangreiche Funktionalität – zum Beispiel für Logausgaben – an. Es wäre daher überaus nützlich, wenn man Browserfunktionalität als externe Remote-Funktionen in die eigene App einbinden und darüber z. B. die Logausgaben nutzen könnte. Oder wenn man in Testsuites App-Funktionalität, die im Browser läuft, remote aufrufen und deren Ergebnisse automatisiert überprüfen könnte.

Der Browser als Logausgabe

Moderne Browser bieten eine sehr gute und bequeme Möglichkeit, Logausgaben formatiert auszugeben, und zwar über das console-Objekt. Besonders mit Chrome lässt sich der Output sehr flexibel formatieren und filtern, z. B. kann man in „error“ und „warn“ unterscheiden, Gruppierungen einführen oder die Ausgabe mittels CSS gestalten (Abb. 1).

mahringer_browserrc_1.tif_fmt1.jpgAbb. 1: Logausgaben in der Chrome Console

Diese Möglichkeiten hat wahrscheinlich jeder schon genutzt, der im Browser JavaScript verwendet hat. Es wäre doch praktisch, wenn man diese bequeme Art der Logausgabe und -formatierung nicht nur in Browser-Apps, sondern generell verwenden könnte. Wir verwenden es z. B., um komplexe Programmabläufe in Node.js oder .NET-Applikationen zu visualisieren. Wie wir sehen können, lässt sich das mit der Browserfernsteuerung leicht durchführen.

Ein Hinweis für JavaScript-Puristen: Die im Folgenden gezeigten Beispiele verwenden TypeScript. Wer das nicht mag, möge sich bitte die Typangaben wegdenken.

Automatisiertes ...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang