zurück
Avatar of Daniel Rieth
Autor: Daniel Rieth
07. Mai 2020

Fantastische Electron Apps - und wie sie zu testen sind

Viele Entwickler – laut einer Umfrage von stackoverflow ca. 72% - sind auf Webentwicklung spezialisiert. Web-Technologien sind weit verbreitet, werden von jedem gängigem Betriebssystem unterstützt und den Entwicklern steht eine breite Auswahl an Frameworks zur Verfügung. Doch deswegen sind Desktop-Anwendungen natürlich nicht obsolet geworden. Warum also nicht auch die für das Web bereitstehenden Ressourcen für lokale Programme verwenden? Wie die Überschrift vielleicht schon vermuten lässt, gibt es da eine Möglichkeit: Electron.

Electron ist ein Framework zur Ausführung von Cross-Plattform Desktop-Anwendungen mit Hilfe des Webbrowsers Chromium und des Node.js-Frameworks.

weitere Informationen

Vermutlich jeder Benutzer kennt oder benutzt Electron-Anwendungen. Populäre Apps wie Skype, Microsoft Visual Studio Code oder Discord bauen auf Electron auf. Der Ursprung von Electron ist GitHubs Editor Atom, weshalb Electron auch ehemals als „Atom Shell“ bekannt war. GitHub kam auf die Idee, das auf browserlose JavaScript-Ausführung ausgelegte „Node.js“ Framework mit der Chromium Rendering-Engine zu kombinieren. Somit lassen sich Web-Anwendungen schnell und unkompliziert desktoptauglich machen. Außerdem ist neben dem initialen Download keine Internetverbindung notwendig, um das Programm nutzen zu können.

Die Entwicklung einer App kann somit komplett mithilfe von Webtechnologien wie HTML, CSS und JavaScript vonstatten gehen. Dadurch funktionieren die Applikationen plattformunabhängig und das Bereitstellen und Warten für die unterschiedlichen Betriebssystemen ist nicht so mühsam. Auch auf Codeebene ist die Interaktion mit dem Betriebssystem ist vergleichsweise einfach, Electron bietet native Menüleisten und Benachrichtigungen, Zugriff auf das Dateisystem und Zugriff auf einige low-level Informationen zu Hardwarekomponenten.

Eigentlich wird das Framework auf der offiziellen Seite recht gut zusammengefasst: "Wir kümmern uns um die kniffligen Dinge – und Sie um den Kern der Anwendung".

Aber ich schreibe dies hier nicht nur, um einfach eine Lobeshymne auf Electron zu singen – natürlich möchte ich auch darauf hinweisen, dass QF-Test schon seit Version 4.5 das Testen von Electron-Anwendungen unterstützt und eine kurze Einweisung liefern.

Am Grundkonzept hat sich nichts geändert. Am schnellsten verbindet man QF-Test mit der gewünschten App über den Schnellstart-Assistenten (Menü: Extras → Schnellstart-Assistent). Dort einfach als Typ „Eine Electron Anwendung“ auswählen und den Pfad zur Electron-Anwendung und gegebenfalls Kommandozeilenargumente angeben.

Danach muss der passende ChromeDriver angegeben werden. Um diesen zu bestimmen ist es hilfreich, die verwendete Electron-Version anzugeben bzw. automatisch ermitteln zu lassen. Danach kann der passende ChromeDriver angegeben (oder heruntergeladen) werden.

QF-Test bietet für Electron-Tests sämtliche Features, die es auch für Web-Testen bereitstellt. Zusätzlich können die nativen Menüs über einen Auswahl-Knoten (Einfügen → Event Knoten → Auswahl) angesteuert werden, entsprechend der hier gezeigten Syntax:

Damit diese Funktionalität auch erhalten bleibt, muss QF-Test auf die Electron-API zugreifen können. Konkret sollte also folgende (momentane Standard-Werte) innerhalb des BrowserWindow im Programm nicht verändert werden:

mainWindow = new BrowserWindow({

      webPreferences: {

            enableRemoteModule: true,

            contextIsolation: false,

            nodeIntegration: true

      }

})

Probieren Sie es doch einfach einmal aus und testen Sie Ihre eigene App!

Falls Sie eine zu alte Version von QF-Test besitzen (< 4.5), können Sie sich die neueste Version hier auf dieser Seite herunterladen und kostenfrei evaluieren

Gratis Testen

Neuer Kommentar
( wird auf der Seite/Blog erscheinen )
( wird nicht auf der Seite/Blog erscheinen )

0 Kommentare

Sie haben Themenwünsche?
Wir freuen uns über Anregungen an blog@remove-this.qfs.de oder im Kommentar.

Benachrichtigung bei neuen Blog-Artikeln

Datenschutzerklärung