Electron App Testing: Ein vollständiger Leitfaden
Einführung in das Electron App Testing
Was ist Electron überhaupt? Stellen Sie sich vor, Desktop-Apps mit den Web-Technologien zu erstellen, die Sie bereits kennen und lieben. Das ist Electron in Kürze! Es ist ein leistungsstarkes Framework, das Entwicklern ermöglicht, plattformübergreifende Desktop-Anwendungen mit JavaScript, HTML und CSS zu erstellen. Ziemlich cool, oder?
Warum Testing wichtig ist
Sie würden keine Rakete starten, ohne jedes System zu prüfen, oder? Dasselbe gilt für Ihre Electron-App. Testing hilft Ihnen dabei:
Bugs zu finden, bevor es Ihre Nutzer tun
Eine konsistente Leistung auf verschiedenen Betriebssystemen sicherzustellen
Die Benutzererfahrung zu verbessern, indem Probleme frühzeitig erkannt und behoben werden
Langfristig Zeit und Ressourcen zu sparen
Betrachten Sie Testing als das Sicherheitsnetz Ihrer App. Es gibt Ihnen die Gewissheit, dass Ihr Werk so funktioniert, wie es soll, wenn es die Desktops Ihrer Nutzer erreicht.
Bereit zu lernen, wie Sie Ihre Electron-App wie ein Profi testen? Legen wir los!
In den nächsten Abschnitten behandeln wir alles, was Sie über Electron App Testing wissen müssen: von der Einrichtung Ihrer Testumgebung bis zum Ausführen Ihrer ersten automatisierten Tests. Egal ob erfahrener Entwickler oder Einsteiger, dieser Leitfaden hilft Ihnen, Ihr Electron App-Spiel auf ein neues Niveau zu heben.
Voraussetzungen für das Testen von Electron-Apps
Bevor wir uns mit den Details des Testings befassen, stellen wir sicher, dass Sie alle notwendigen Tools haben. Betrachten Sie das als das Packen Ihres Rucksacks vor einer Wanderung - Sie wollen gut vorbereitet sein!
Was Sie benötigen:
TestComplete Web Module Lizenz: Das ist Ihr goldenes Ticket in die Welt des Electron App Testings. Es ist wie ein Schweizer Taschenmesser für das Testen von Web-Anwendungen. Stellen Sie sicher, dass Sie eine aktive Lizenz haben.
Erforderliche Plugins
Web Testing Plugin: Das ist Ihre Grundlage für webbasiertes Testing.
Chromium Embedded Framework Support Plugin: Da Electron Chromium unter der Haube verwendet, ist dieses Plugin entscheidend.
Keine Sorge - diese Plugins sind in der Regel vorinstalliert mit dem TestComplete Web-Modul. Aber eine Überprüfung ist immer empfehlenswert!
Ihre Electron-App als binäre ausführbare Datei: Ihre App muss kompiliert und ausführungsbereit sein. Stellen Sie sich das vor wie einen fertigen Kuchen, bevor Sie mit dem Dekorieren beginnen.
Unterstützte Electron-Versionen: Welche Version ist am besten geeignet?
Sprechen wir nun über Kompatibilität. Nicht alle Electron-Versionen funktionieren gleich gut mit Testing-Tools. Hier ist das Wichtigste:
Chrome DevTools Protocol (CDP) Unterstützung
Das ist der Newcomer, der Electron-Versionen 11 bis 32 unterstützt.
Es ist wie eine direkte Verbindung zu den Interna Ihrer App.
Legacy Script Injection Unterstützung
Diese ältere Methode funktioniert mit Electron-Versionen 1.8.2 bis 11.0.0.
Betrachten Sie es wie das zuverlässige alte Fahrrad in Ihrer Garage - es funktioniert noch, aber neuere Modelle sind möglicherweise effizienter.
Profi-Tipp: Streben Sie immer an, die neueste stabile Electron-Version zu verwenden, die mit Ihrer Test-Umgebung kompatibel ist. Es ist wie die Wahl der frischesten Zutaten für Ihr Rezept - Sie erzielen die besten Ergebnisse!
Denken Sie daran: Testing geht nicht nur darum, Bugs zu finden, sondern sicherzustellen, dass Ihre App das bestmögliche Erlebnis für Ihre Nutzer bietet. Mit den richtigen Tools und Versionen sind Sie für den Erfolg gerüstet.
Electron-Anwendungen für das Testing zugänglich machen
Jetzt, da wir unsere Tools bereit haben, ist es an der Zeit, einen Blick unter die Haube Ihrer Electron-App zu werfen. Wir müssen ihr inneres Funktionieren zugänglich machen, damit unsere Tests ihre Arbeit erledigen können. Schauen wir uns an, wie das geht!
Die moderne Methode: Chrome DevTools Protocol (CDP)
Betrachten Sie CDP als VIP-Zugang Ihrer Testing-Tools zum Backstage-Bereich Ihrer App. Es ist die bevorzugte Methode für neuere Electron-Versionen. So funktioniert es:
Start mit Remote-Debugging-Port
Es ist wie das Öffnen einer geheimen Tür für Ihre Testing-Tools.
Verwenden Sie diesen Befehl beim Start Ihrer App: --remote-debugging-port=<port_1> --inspect=<port_2>
Ersetzen Sie <port_1> und <port_2> durch verfügbare Port-Nummern zwischen 1024 und 65535.
Verwendung des -cdpAutoSetPort Befehlszeilenparameters
Das ist die einfache Methode zur Freigabe.
Fügen Sie Ihre App zu TestComplete's Tested Applications als generische Windows-Anwendung hinzu.
Fügen Sie den -cdpAutoSetPort-Parameter zu den Starteinstellungen hinzu.
Überlassen Sie TestComplete die Port-Magie!
Profi-Tipp: Die Verwendung von -cdpAutoSetPort ist wie ein Valet-Service für Ihre Test-Einrichtung. Es ist praktisch und erspart Ihnen Kopfschmerzen mit Port-Nummern!
Die alte Schule: Legacy Script Injection Methode
Auch wenn sie nicht mehr die Hauptrolle spielt, könnten einige ältere Electron-Apps diese Methode noch verwenden. Hier ist das Wesentliche:
Fügen Sie Ihre App zu TestComplete's Tested Applications als generische Windows-Anwendung hinzu.
Starten Sie sie im Simple-Run-Modus.
Warnung: Diese Methode ist wie die Verwendung einer alten Karte. Sie bringt Sie möglicherweise ans Ziel, aber neuere Routen (wie CDP) sind zuverlässiger und funktionsreicher.
Die richtige Methode wählen
Für Electron-Versionen 11 und höher: Bleiben Sie bei CDP. Es ist wie der Wechsel von einem Klapphandy zu einem Smartphone.
Für ältere Versionen (vor 11): Sie benötigen möglicherweise Script Injection, aber erwägen Sie ein Update, wenn möglich.
Denken Sie daran: Ihre App korrekt zugänglich zu machen, ist entscheidend für effektives Testing. Es ist wie Ihren Testing-Tools die richtigen Schlüssel zu geben, um das Potenzial Ihrer App zu erschließen.
Tests erstellen und aufzeichnen
Jetzt, da wir die Bühne bereitet haben, ist es Zeit, die Performance Ihrer App aufzuzeichnen. Schauen wir uns an, wie Tests erstellt und aufgezeichnet werden - es ist einfacher als Sie denken!
Benutzeraktionen aufzeichnen
Drücken Sie den Record-Button in TestComplete.
Interagieren Sie mit Ihrer App wie ein normaler Nutzer.
Klicken Sie auf Buttons, füllen Sie Formulare aus, navigieren Sie durch Menüs - TestComplete schaut zu!
Stoppen Sie die Aufzeichnung, wenn Sie fertig sind.
Es ist wie Ihre eigene Reality-Show, aber für App-Testing!
Teststruktur 101: Was steckt im Skript?
Nach der Aufzeichnung sehen Sie eine Abfolge von Operationen. Hier ist, was Sie finden könnten:
ClickItem: Zur Auswahl aus Dropdowns
SetText: Wenn Sie in Textfelder tippen
Click: Für Buttons und andere anklickbare Elemente
Betrachten Sie es als ein detailliertes Rezept für Nutzerinteraktionen mit Ihrer App.
Ihre Tests verbessern
Sie haben Ihren Basis-Test? Gut! Jetzt machen wir ihn noch besser:
Neue Operationen hinzufügen: Fügen Sie zusätzliche Schritte oder Überprüfungen ein.
Neu anordnen oder ändern: Tauschen Sie Elemente aus oder passen Sie Parameter an.
Überflüssiges entfernen: Löschen Sie unnötige aufgezeichnete Aktionen.
Checkpoints hinzufügen: Überprüfen Sie, ob Ihre App sich korrekt verhält.
Datengesteuert gestalten: Führen Sie denselben Test mit verschiedenen Datensätzen durch.
Es ist wie das Bearbeiten eines Films - schneiden Sie die langweiligen Teile heraus und fügen Sie besondere Effekte hinzu!
Objekte in Electron-Anwendungen adressieren
Sprechen wir nun darüber, wie Sie in Tests auf verschiedene Teile Ihrer App zeigen.
Name Mapping und Aliases verwenden
TestComplete ordnet Objekte während der Aufzeichnung automatisch zu.
Jedes Objekt erhält einen freundlichen Alias.
Verwenden Sie diese Aliases in Ihren Tests - es ist wie Ihre Freunde beim Spitznamen zu nennen!
Beispiel: Aliases.orders.pageOrders.formOrder.selectProduct.ClickItem("FamilyAlbum");
Objekte ohne Name Mapping adressieren: Der vollständige Namensansatz
Manchmal müssen Sie vom ausgetretenen Pfad abweichen:
Verwenden Sie den Object Browser oder Object Spy, um den vollständigen Objektnamen zu finden.
Referenzieren Sie Objekte direkt über ihren vollständigen Namen.
Es ist wie die Verwendung des vollständigen Titels einer Person statt ihres Spitznamens - formeller, aber manchmal notwendig.
Profi-Tipp: Verwenden Sie Aliases, wann immer möglich. Sie sind leichter zu lesen und zu pflegen, wie ein gutes Ablagesystem für Ihre Testobjekte.
Denken Sie daran: Gute Objektadressierung macht Ihre Tests stabiler und einfacher zu aktualisieren. Es ist der Unterschied zwischen "Klicken Sie auf das Ding da drüben" und "Klicken Sie auf den Senden-Button im Bestellformular".
Benutzeraktionen in Tests simulieren
Jetzt, da wir Teststruktur und Objektadressierung beherrschen, ist es Zeit, Ihre Electron-App zum Tanzen zu bringen! Schauen wir uns an, wie Benutzeraktionen simuliert werden und mit welchen Elementen wir arbeiten können.
TestComplete Methoden für Web-Elemente
TestComplete gibt Ihnen einen Werkzeugkasten voller Methoden zur Interaktion mit Web-Elementen. Hier einige Favoriten:
Click(): Der Klassiker. Verwenden Sie ihn, um auf Buttons, Links oder andere anklickbare Elemente zu klicken. Beispiel: myButton.Click();
DblClick(): Für Doppelklick-Aktionen. Beispiel: myIcon.DblClick();
SetText(): Perfekt zum Eintippen in Textfelder. Beispiel: myTextBox.SetText("Hallo, Electron!");
Keys(): Simuliert Tastatureingaben, ideal für Shortcuts oder Sondertasten. Beispiel: myElement.Keys("[Enter]");
ClickItem(): Ideal für Dropdown-Menüs und Listenauswahl. Beispiel: myDropdown.ClickItem("Option 2");
Profi-Tipp: Diese Methoden funktionieren genauso wie echte Benutzeraktionen, aber schneller und konsistenter. Es ist wie ein hocheffizienter Nutzer, der Ihre App testet!
Unterstützte Steuerelemente und Elemente
TestComplete ist mit Standard-Web-Elementen gut kompatibel. Hier ist, womit Sie interagieren können:
<p>, <div>, <span>: Für Text und Inhaltscontainer
<table>: Zur Arbeit mit tabellarischen Daten
<input>: Textfelder, Checkboxen, Radiobuttons
<select>: Dropdowns und Listenfelder
<button>: Anklickbare Buttons
<a>: Hyperlinks
Und es gibt noch mehr! TestComplete arbeitet auch gut mit:
Benutzerdefinierten Elementen: Wenn es auf Standard-Web-Technologie aufgebaut ist, können Sie wahrscheinlich damit interagieren.
Komplexen UI-Komponenten: Dinge wie Datumsauswähler, Schieberegler oder benutzerdefinierte Dropdowns.
Denken Sie daran: Wenn ein Mensch damit interagieren kann, kann TestComplete es wahrscheinlich auch!
Alles zusammenbringen
Stellen Sie sich vor, Sie füllen ein Formular in Ihrer Electron-App aus. Ihr Test könnte so aussehen:
var orderForm = Aliases.orders.pageOrders.formOrder;
orderForm.textboxCustomerName.SetText("John Doe");
orderForm.selectProduct.ClickItem("Awesome Widget");
orderForm.textboxQuantity.SetText("5");
orderForm.buttonSubmit.Click();Es ist wie das Schreiben eines Drehbuchs für einen sehr akribischen Nutzer!
Profi-Tipp: Denken Sie immer an die effizienteste und zuverlässigste Art, mit Elementen zu interagieren. Manchmal ist ein einziges Click() besser als eine komplexe Reihe von Mausbewegungen.
Indem Sie diese Methoden beherrschen und verstehen, mit welchen Elementen Sie arbeiten können, sind Sie auf dem besten Weg, robuste, zuverlässige Tests für Ihre Electron-App zu erstellen. Es ist wie ein Puppenspieler, aber statt Fäden verwenden Sie Code, um Ihre App auftreten zu lassen!
Best Practices und häufige Fallstricke
Schauen wir uns einige Profi-Tipps und potenzielle Stolpersteine beim Electron App Testing an. Diese zu kennen kann Ihnen Stunden der Fehlersuche ersparen!
Best Practices: Das Geheimrezept
Die richtige binäre ausführbare Datei finden
Betrachten Sie das als das Finden des wahren Herzens Ihrer App. So geht's:
Suchen Sie im Ordner %APPDATA%\Local<Ihr_App_Name>\app-N.N.N.
Verwenden Sie die tatsächliche App-Datei, nicht nur einen Launcher.
Profi-Tipp: Wenn Sie unsicher sind, lassen Sie TestComplete Ihnen helfen:
Starten Sie Ihre Electron-App.
Suchen Sie Ihre App im TestComplete Object Browser.
Klicken Sie mit der rechten Maustaste auf den Process-Knoten und wählen Sie "Add Process to TestedApps". Voila! Sie haben die richtige ausführbare Datei.
Hintergrund-Electron-Apps bändigen
Hintergrund-Electron-Apps können wie unerwünschte Eindringlinge in Ihre Tests sein. So gehen Sie damit um:
Prüfen Sie vor dem Testing den Task-Manager auf Electron-Prozesse.
Schliessen Sie alle Hintergrund-Electron-Apps.
Warum? Diese stillen Prozesse können TestComplete verwirren und zu unerwarteten Testergebnissen führen. Es ist wie der Versuch, in einem lauten Raum ein Gespräch zu führen - am besten, wenn man zuerst die Ruhe herstellt!
Einschränkungen und bekannte Probleme
Plattformübergreifende Testing-Einschränkungen
Leider: Das Ausführen plattformübergreifender Web-Tests für Electron-Apps in Remote-Umgebungen wird nicht unterstützt.
Was das bedeutet: Sie müssen auf jeder Plattform separat testen. Es ist wie unterschiedliche Schlüssel für verschiedene Türen - etwas mehr Aufwand, stellt aber sicher, dass alles richtig gesichert ist.
Versionsspezifische Probleme
Electron ist wie ein schneller Zug, und manchmal müssen Testing-Tools aufholen. Hier einige versionsspezifische Eigenheiten:
Electron 9.x und höher: Nicht unterstützt unter Windows 7.
Electron 9.x und 11.0.0 mit globalem Sandbox-Modus: Nicht unterstützt.
Electron 12 und höher: Kann beim Aufzeichnen von Tests einfrieren oder abstürzen.
Profi-Tipp: Überprüfen Sie immer die neuesten Kompatibilitätshinweise für Ihre Electron-Version. Es ist wie das Lesen der Wettervorhersage vor einer Reise - hilft bei der Vorbereitung!
Content Security Policy (CSP) Einschränkungen
Wenn Ihre App eine strenge CSP verwendet, könnte sie die Script-Injection von TestComplete blockieren. Die Lösung: Erstellen Sie einen separaten Test-Build mit gelockerter CSP. Aber denken Sie daran: Verwenden Sie diesen Build nicht in der Produktion!
JavaScript-Bibliothekskonflikte
Verwenden Sie populäre JS-Bibliotheken? Sie könnten beim Starten "Uncaught ReferenceError"-Fehler sehen. Die Lösung: Verwenden Sie das Befehlszeilenargument -tearOffNodeObjects beim Starten Ihrer App für Tests.
Denken Sie daran: Diese Einschränkungen sind keine Hindernisse, sondern eher Schwellen. Sie zu kennen hilft Ihnen, Ihre Test-Reise reibungsloser zu gestalten.
Indem Sie diese Best Practices befolgen und sich der Einschränkungen bewusst sind, bereiten Sie sich auf Test-Erfolg vor. Es ist wie eine Karte zu haben und das Gelände zu kennen, bevor man auf ein Abenteuer geht - Sie sind auf alles vorbereitet!
Vorhandene Tests migrieren
Sie haben Ihre Electron-App also bereits eine Weile getestet und nun TestComplete aktualisiert. Was passiert mit Ihren bewährten alten Tests? Keine Sorge, wir haben Sie gedeckt!
Tests migrieren: Das Alte raus, das Neue(re) rein
Gute Neuigkeit: Wenn Sie von einer TestComplete-Version vor 14.93 aktualisieren, werden Ihre vorhandenen Tests nicht plötzlich wertlos. Sie funktionieren weiterhin! Aber wie beim Wechsel von einem Klapphandy zu einem Smartphone gibt es neue Funktionen, von denen Sie profitieren könnten.
Ihre schnelle und einfache Migrationsanleitung:
Ruhe bewahren und weiter testen Ihre alten Tests laufen weiterhin. Sie müssen nicht alles von Grund auf neu schreiben. Es ist wie die Entdeckung, dass Ihr altes Auto noch gut auf neuen Straßen funktioniert.
CDP umarmen CDP (Chrome DevTools Protocol) ist der neue Favorit. Es ist wie der Wechsel von Briefpost zu E-Mail - schneller, effizienter und mit cooleren Funktionen.
Der Zaubertrick So aktualisieren Sie Ihre Tests:
Suchen Sie Ihre Electron-App in der Tested Applications-Sammlung Ihres Projekts.
Fügen Sie diesen Zauberparameter hinzu: -cdpAutoSetPort
Fügen Sie ihn als Befehlszeilenparameter zu den Starteinstellungen Ihrer App hinzu.
Es ist wie Ihrem alten Hund einen tollen neuen Trick beizubringen!
Den Rest unberührt lassen Gute Neuigkeit: Sie müssen keine anderen Test-Befehle anfassen. Sie funktionieren mit dem neuen Setup weiterhin einwandfrei.
Profi-Tipp: Auch wenn Ihre alten Tests weiterhin funktionieren, sollten Sie sie schrittweise aktualisieren, um alle neuen Funktionen von TestComplete 14.93 und höher zu nutzen. Es ist wie die Aktualisierung Ihrer Garderobe nach und nach - kein Bedarf, alles auf einmal zu erledigen!
Warum migrieren?
Sie denken vielleicht: "Wenn es funktioniert, warum es ändern?" Hier sind die Gründe für ein Upgrade:
Bessere Leistung: CDP ist in der Regel schneller und zuverlässiger.
Mehr Funktionen: Sie erhalten Zugang zu neueren Testing-Möglichkeiten.
Zukunftssicherheit: Auf dem neuesten Stand zu bleiben hilft sicherzustellen, dass Ihre Tests mit neueren Electron-Versionen funktionieren.
Bugfixes: Neue Versionen kommen oft mit Korrekturen bekannter Probleme.
Betrachten Sie das als die Inspektion Ihres Autos - es läuft gleichmäßiger und hält länger!
Ein Wort der Vorsicht
Wenn Sie die Legacy Script Injection-Methode (vor Version 14.93) verwenden, beachten Sie, dass sie mit einigen Einschränkungen und potenziellen Problemen verbunden ist. Es ist wie die Verwendung einer alten Karte - sie bringt Sie möglicherweise ans Ziel, aber neuere Routen sind oft besser.
Migration abschliessen
Das Migrieren Ihrer Tests muss keine Qual sein. Mit TestComplete ist es eher ein sanfter Schubs in die Zukunft. Ihre alten Tests funktionieren noch, aber mit einer einfachen Anpassung können Sie eine Welt neuer Testing-Möglichkeiten erschliessen.
Denken Sie daran: Das Ziel ist, Ihr Testing effizienter und effektiver zu gestalten. Indem Sie Ihre Tests aktualisieren, halten Sie nicht nur mit der Zeit Schritt, sondern bereiten sich auf einfacheres, robusteres Testing in der Zukunft vor.
Fazit
Herzlichen Glückwunsch! Sie sind jetzt mit dem Wissen ausgestattet, Ihre Electron-Apps wie ein Profi zu testen. Von der Einrichtung Ihrer Umgebung bis zur Erstellung robuster Tests und sogar der Migration älterer Tests haben Sie die Werkzeuge, um sicherzustellen, dass Ihre App auf jedem Desktop glänzt.
Denken Sie daran: Testing geht nicht nur darum, Bugs zu finden, sondern ein herausragendes Benutzererlebnis zu bieten. Da Electron sich weiterentwickelt, werden sich auch die Test-Methoden weiterentwickeln. Bleiben Sie neugierig, lernen Sie weiter und scheuen Sie sich nicht, mit neuen Techniken zu experimentieren.
Häufig gestellte Fragen
Warum sollten Sie Qodex.ai wählen?
Qodex.ai vereinfacht und beschleunigt den API-Testprozess durch den Einsatz KI-gestützter Tools und Automatisierung. Hier sind die Vorteile:
- KI-gestützte Automatisierung
Erreichen Sie 100% API-Testautomatisierung ohne eine einzige Codezeile zu schreiben. Die hochmoderne KI von Qodex.ai reduziert den manuellen Aufwand und liefert unübertroffene Effizienz und Präzision.
- Benutzerfreundliche Plattform
Importieren Sie API-Sammlungen aus Postman, Swagger oder Anwendungsprotokollen mühelos und beginnen Sie in Minuten mit dem Testen. Keine steilen Lernkurven oder technisches Fachwissen erforderlich.
- Anpassbare Testszenarien
Ob Sie KI-unterstützte Testgenerierung oder manuelle Erstellung von Testfällen verwenden, Qodex.ai passt sich Ihren Bedürfnissen an. Erstellen Sie robuste Szenarien, die auf Ihre Projektanforderungen zugeschnitten sind.
- Echtzeit-Überwachung und Berichterstattung
Gewinnen Sie sofortige Einblicke in den API-Zustand, Testerfolgszahlen und Leistungsmetriken. Unsere integrierten Dashboards stellen sicher, dass Sie immer die Kontrolle haben und Probleme frühzeitig erkennen und beheben können.
- Skalierbare Kollaborationstools
Entwickelt für Teams aller Größen bietet Qodex.ai Testpläne, -suiten und Dokumentation, die eine nahtlose Zusammenarbeit fördern. Perfekt für Startups, Unternehmen und Microservices-Architektur.
- Kosten- und Zeiteffizienz
Sparen Sie Zeit und Ressourcen durch den Wegfall manuellen Testaufwands. Mit der Automatisierung von Qodex.ai können Sie sich auf Innovation konzentrieren und gleichzeitig Betriebskosten senken.
- CI/CD-Kompatibilität
Integrieren Sie Qodex.ai einfach in Ihre CI/CD-Pipelines für konsistentes, automatisiertes Testen während Ihres gesamten Entwicklungslebenszyklus.
Wie kann ich eine E-Mail-Adresse mit Python regex validieren?
Sie können das folgende regex-Muster zur Validierung einer E-Mail-Adresse verwenden: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Was ist ein Go Regex Tester?
Go Regex Tester ist ein spezialisiertes Tool für Entwickler zum Testen und Debuggen regulärer Ausdrücke in der Go-Programmierumgebung. Es bietet Echtzeit-Auswertung von regex-Mustern für eine effiziente Musterentwicklung und Fehlersuche.
Discover, Test, & Secure your APIs 10x Faster than before
Auto-discover every endpoint, generate functional & security tests (OWASP Top 10), auto-heal as code changes, and run in CI/CD - no code needed.
Related Blogs





