Appium – Die Lösung für mobile Testautomation?
Kunden erwarten, wenn eine App auf Android verfügbar ist, diese auch auf iOS verwenden zu können und umgekehrt. Darum wird immer öfter die Entscheidung getroffen Hybrid-Apps zu entwickeln, welche für Apples iOS-Geräte, genauso wie auf Googles Androiden laufen. Für die Entwicklung solcher cross-platform Apps gibt es mittlerweile eine Hand voll Tools, wie beispielsweise:
- Xamarin
- Phonegap
- Sencha.
Aber welches Tool verwendet man um seinen Multiplattformer zu testen?
„Die 4 philosophischen Grundsätze, auf denen Appium aufbaut lauten:
- You shouldn’t have to recompile your app or modify it in any way in order to automate it.
- You shouldn’t be locked into a specific language or framework to write and run your tests.
- A mobile automation framework shouldn’t reinvent the wheel when it comes to automation APIs.
- A mobile automation framework should be open source, in spirit and practice as well as in name!
Können Sie sich mit diesen Grundsätzen identifizieren?“, fragt Andreas Steiner, Spezialist für Software Test bei SEQIS.
Für automatisierte Tests stellen Apple, genauso wie Google Automations-Frameworks für ihre Produkte zur Verfügung.
- Ab iOS 9.3: XCUITest
- Ab Android 4.2: UIAutomation 2
Android-Tests sind ausschließlich in Java zu schreiben, für iOS-Tests kann man zwischen Objective-C oder Swift wählen. Da Appium mit Libraries der populärsten Programmiersprachen versorgt ist, können Tests in folgenden Sprachen erstellt werden:
- Ruby
- Python
- Java
- JavaScript
- PHP
- C#
- Objective C
- Robotframework
Appium baut auf die Web-Driver API und erweitert diese um sämtliche von den Herstellern angebotenen Frameworks, sowie nützliche Smartphone-Funktionen (Zoomen, Scrollen etc.). Dies bringt den Vorteil, dass die App nicht instrumentiert (Anm: dh. nicht mit Zusatzinformationen erweitert und damit verändert) werden muss. Es wird also die App getestet, die letztendlich auch im Store landet.
Durch das verwendete Client-Server-Protokoll (JSON Wire Protocol) für den WebDriver, wird ausschließlich über HTTP-Requests kommuniziert. Es können Tests in jeder Programmiersprache geschrieben werden, solange sie eine Client-HTTP-API unterstützt. Allerdings ist es ratsam die von Appium zur Verfügung gestellten Libraries zu verwenden.
Die größte Stärke der verwendeten Client-Server Architektur ist, dass Tests und Server auf unterschiedlichen Geräten laufen können. Mithilfe von Cloud Services werden Tests auf einer Vielzahl echter aber auch simulierter Geräte durchgeführt. So können sich Kosten der Testumgebung senken lassen, ohne einen Qualitätsverlust befürchten zu müssen. Ganz im Gegenteil, es kann sogar bedeuten, dass sich dadurch die Qualität der App beträchtlich erhöht, vor allem, wenn zuvor nur auf den aktuellsten Flagships oder nur mit Emulatoren getestet wurde.
Mittlerweile werden auch Client-Lösungen für Appium angeboten. Beispielsweise bietet Appium Desktop eine einfache Oberfläche, einen Inspektor und wie aus anderen Tools bekannt, kann per Maus-Klick ein Testfall aufgenommen werden. Diese Client-Lösungen schränken einen in der Anwendung zwar oft ein, zeigen aber wie vielfältig Appium eingesetzt werden kann.
Außerdem: Appium ist Open Source und hat eine große Community hinter sich vereint. Es gibt selten ein Problem, welches gänzlich unbekannt ist oder für das es noch keine Lösungsvorschläge gibt. Es ist vertreten auf GitHub und seit 2016 Teil der JS Foundation.
Alle Infos zu Appium gibt es auf https://appium.io
Sie möchten mehr erfahren?
Hier können Sie unsere SEQIS QualityNews zu diesem Leitthema herunterladen: https://www.seqis.com/de/aktuelles-indexund hier gehts direkt zum PDF: Download QualityNews „Toolchain“.
Kennen Sie schon den SEQIS Videoblog?
Hier finden Sie darüber hinaus wertvolle Tipps und Informationen zu unterschiedlichen Bereichen aus der IT: www.SEQIS.com/youtube
Bleiben Sie auf dem Laufenden!
Unter blog.seqis.com lesen Sie immer aktuelle Artikel zu spannenden Themen aus der IT Welt.
SEQIS ist der führende österreichische Anbieter in den Spezialbereichen Software Test, IT Analyse und agiles Projektmanagement: Beratung, Verstärkung, Ausbildung und Workshops – seit 2001 der Partner für hochwertige IT-Qualitätssicherung. Weitere Informationen zum Unternehmen finden Sie unter www.SEQIS.com.
SEQIS GmbH
Wienerbergstraße 3-5
A1100 Wien
Telefon: +436648378719
Telefax: +43 (2236) 320320350
https://www.SEQIS.com
SEQIS
Telefon: +43 (2236) 320320-0
Fax: +43 (2236) 320320350
E-Mail: alexander.weichselberger@SEQIS.com