Selenium für mobile App-Tests

Alle Automatisierungsentwicklungs- und Testingenieure kennen ‘Selenium’, das De-facto-Testframework für Webanwendungen. Mit der sich verändernden mobilen Landschaft ist Appium das am häufigsten verwendete Framework zum Testen mobiler Apps. Aber ist es möglich, Selenium für mobile Anwendungstests zu verwenden? Die direkte Antwort ist ‘Nicht wirklich’, aber es gibt einen langen und anderen Ansatz für diese Antwort.

Appium ist das beliebteste Testframework für mobile Anwendungen, mit dem alle nativen, hybriden und mobilen Web-Apps für iOS und Android getestet werden können. Es wird auch für Cross-Browser-Tests verwendet, bei denen echte Geräte und echte Browser getestet werden. Tatsache ist, dass Appium seine Wurzeln in Selenium hat und JSONWireProtocol verwendet, um mit iOS- und Android-Apps über den Webdriver von Selenium zu interagieren.

Appium / Selenium-Architektur

In einer typischen Architektur ist Appium ein in Node geschriebener HTTP-Server.js, das mehrere WebDriver-Sitzungen erstellt und verarbeitet. Appium startet Tests auf dem Gerät und ruft Befehle vom Appium-Hauptserver ab. Der Server ist hauptsächlich derselbe wie der Selenium-Server, der HTTP-Anforderungen von Selenium-Clientbibliotheken erhält.

Das folgende Bild zeigt ein Beispiel, wie Testskripte auf unserer pCloudy-Plattform ausgeführt werden können. Vergessen Sie nicht, das Video zum Ausführen von Appium-Skripten auf pCloudy hier anzusehen.

Appium pCloudy

 Appium pCloudy

Nachdem wir nun ein wenig über das Selenium– und Appium-Testframework Bescheid wissen, wollen wir den neuen Begriff im Android-App-Test verstehen – ‘Selendroid’, ein Framework, das auf Selenium für automatisierte App-Tests basiert.

Mit anderen Worten, Selendroid ist ein Testautomatisierungs-Framework, das mit mehreren Geräten gleichzeitig interagieren kann, die ohne Änderungen getestet werden können. Es ist auch bekannt als “Selenium für Android” zum Testen von nativen und hybriden mobilen Apps und mobilem Web.

Werfen wir einen Blick auf einige der Funktionen von Selendroid:

a) Es ist Open Source und kann kostenlos verwendet werden
b) Es unterstützt alle Android-Versionen
c) Es unterstützt Selenium als Skriptsprache
d) Es unterstützt Webdriver-kompatible Sprachen, z. B.: Perl, Java, C #
e) Es kann sowohl auf Emulatoren als auch auf realen Geräten 9212> f) Es funktioniert auf allen nativen, hybriden und webbasierten Apps
g) Es ist effektiv bei der Ausführung von nativen und cloudbasierten Apps, da es Selenium Grid unterstützt
h) Es ist sehr einfach zu implementieren.
i) Mit seiner Funktion namens ‘Hotplugging’ kann es die neuen Geräte automatisch erkennen.
j) Es verfügt über einen integrierten Inspektor, um die Entwicklung von Testfällen zu vereinfachen.
k) Es können verschiedene Android API versionen von Android API 10 zu Android API 19.
l) Es kann parallele Tests vollständig unterstützen, indem ein Knoten in Selenium Grid integriert wird.

Selendroid-Architektur:
Selendroid basiert auf dem Android Instrumentation Framework, in dem Tests mit der Selenium Webdriver Client API geschrieben werden, die auch als Selenium 2 Client bezeichnet wird. Daher kann es vollständig in vorhandene Selenium-Frameworks integriert werden. Es ist auch kompatibel mit JSON Wire Protocol.
Werfen wir einen Blick auf die Architektur von Selendroid:

 Selenium für mobile App-Tests

 Selenium für mobile App-Tests

Abschließend hat Selenium seinen Weg als De-facto-Framework für die Automatisierung von Webtests geebnet, und Appium bietet APIs auf hoher Ebene, die von Selenium-Entwicklern schnell übernommen werden können, und vereinfacht die Tests.

Leave a Reply