07. Mai 2020
Fantastische Electron Apps - und wie sie zu testen sind
Zuletzt aktualisiert: 14.01.2022
Auch nachdem das Electron-eigene Testframework "Spectron" nicht mehr weiterentwickelt wird, ist es weiterhin möglich, mit QF-Test professionell seine Electron-Apps zu testen - seit Version 5.4.0 dank CDP-Verbindungsmodus sogar noch besser als je zuvor!
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 Apps testen mit QF-Test
Electron ist ein Framework zur Ausführung von Cross-Plattform Desktop-Anwendungen mit Hilfe des Webbrowsers Chromium und des Node.js-Frameworks.
Artikel von Daniel Rieth und Pascal Bihler
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.
Wie man Electron Anwendungen mit QF-Test testet
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