Wie man dasselbe Skript mit Appium auf mehreren Geräten ausführt

Automatisierte Testung von mobilen Anwendungen existiert bereits seit einer Weile. Es galt früher als Luxus, über ein automatisiertes Testset für seine App zu verfügen. Heutzutage jedoch ist es ein essenzieller Bestandteil von DevOps.

Es gibt viele Vorteile der automatisierten Testung, aber die folgenden drei sind am wichtigsten:

  • Erhöhte Testabdeckung: Die automatisierte Testung ermöglicht es, mehr Funktionen in weniger Zeit zu testen. Dies bedeutet, dass du deine Testabdeckung erhöhen kannst, ohne dein Testbudget zu erhöhen.
  • Vermindertes Risiko von menschlichem Fehler: Automatisierte Tests sind weniger geneigt, Kantenfälle zu übersehen oder andere Fehler während des manuellen Testens einer App zu machen.
  • Schnellerer Feedback: Automatisierte Tests können viel schneller durchgeführt werden als manuelle Tests. Dies bedeutet, dass du Feedback über deine App schneller erhalten kannst, was dir helfen kann, Probleme zu beheben, bevor sie zu größeren Problemen werden.

Die automatisierte Testung von mobilen Anwendungen ist ein wertvoller Prozess, der dir helfen kann, besser qualitativere Apps in weniger Zeit zu veröffentlichen.

Die Frage jedoch ist, decken Sie genug Geräte ab, um Ihre Anwendung zu testen und sie von erstklassiger Qualität zu machen. Wenn Sie Ihre Anwendung auf einem einzelnen Gerät oder vielen Geräten testen, kann es zu gerätespezifischen Problemen, UI-Problemen in unterschiedlichen Auflösungen und funktionalen Problemen bei verschiedenen Betriebssystemversionen kommen.

Warum ist es wichtig, denselben Skript auf mehreren Geräten auszuführen?

Die Testung einer Anwendung auf mehreren Geräten ist ein wichtiger Schritt im QA-Prozess. Wir sollten sicherstellen, dass unsere Anwendung mit verschiedenen Geräten, Betriebssystemversionen und Bildschirmgrößen funktioniert.

Es gibt viele Gründe, warum die Testung von Anwendungen auf mehreren Geräten wichtig ist. Einer der wichtigsten Gründe ist, dass die Benutzer verschiedene Arten von Geräten verwenden können, um dieselbe App zu nutzen. Wir können nicht vorhersagen, auf welchem Gerät ein Benutzer die App aufrufen wird, also müssen wir sicherstellen, dass sie funktioniert. Um sicherzustellen, dass wir unsere Automatisierungsdateien leicht auf mehreren Geräten ausführen können.

Wie kann man die gleiche Skript auf mehreren Geräten mit Appium ausführen?

Wenn wir unseren Appium-Skript ausführen, müssen wir Appium-Geräteattribute übergeben, die den Betriebssystemnamen, die Betriebssystemversion und unser Gerätenamen beinhalten.

{
"platformName": "iOS",
"platformVersion": "11.0",
"deviceName": "iPhone 9",
"automationName": "XCUITest",
"app": "/path/to/my.app"
}

Copied

Um Ihr Testscript auf einem anderen Gerät auszuführen, müssen wir die gewünschten Fähigkeiten Ihres Testscripts ändern, und es wird Ihr Testscript auf diesem bestimmten Gerät ausführen. Wir müssen unser Testscript nicht ändern, um es auf verschiedenen Geräten auszuführen. Allerdings kann es unterschiedlich sein, Testscripts auf Android- und iOS-Geräten auszuführen, da Elemente auf Android und iOS möglicherweise unterschiedlich zugewiesen sind. Aber ein Script, das für jedes Android- oder iOS-Gerät geschrieben wurde, kann auf allen Geräten mit der gleichen Betriebssystemversion ausgeführt werden, indem die gewünschten Fähigkeiten geändert werden.

Herausforderungen bei der Verwaltung mehrerer Geräte

Es ist leicht, Ihr Script auf mehreren Geräten auszuführen, aber die Verwaltung dieser Geräte und der Besitz von mehreren Geräten ist die schwierigste und kostengünstigste Phase Ihres Automatisierungsprozesses. Wenn wir nur von iPhones sprechen, gibt es von iPhone6 bis iPhone13, die von Benutzern mit einer Mischung von iOS11 bis iOS16 verwendet werden. Und wenn es um Android geht, erhöhten sich diese Zahlen stark. Kein Team kann alle populären Geräte, die im Markt vorhanden sind und mit verschiedenen Betriebssystemversionen verwaltet oder besitzen.

Emulator/Simulator als Alternative

Zuerst erinnert sich jeder an die Lösung, Emulatoren und Simulatoren für verschiedene Geräte zu verwenden. Aber die Tests auf einem Emulator/Simulator sind nicht gleichbedeutend mit den Tests auf Realgeräten.Obwohl Simulatoren und Emulatoren dem Imitieren nahekommen, ist es unmöglich, dass sie das gleiche erreichen wie ein reales Gerät. Dies liegt daran, dass Emulatoren keine jeden einzelnen Umgebungsaspekt, Funktion oder Benutzereingabe auf einem realen Gerät berücksichtigen können. Der Vorteil von Realgeräten liegt in ihrem Namen begründet. Tests auf realen, physischen Geräten bedeutet also, dass Sie die gleiche Art und Weise testen, wie Ihre Nutzer ihre Geräte bedienen.

Tests auf Realgeräten: Vorteil

Hier kommt BrowserStack als Retter, um sich der Gerätekette zu entledigen. BrowserStack App Automate stellt allen beliebten Geräten mit unterschiedlichen Betriebssystemversionen zur automatischen Testung Ihrer Anwendung mit Appium zur Verfügung. Sie können BrowserStack leicht in Ihre Umgebung integrieren, um Ihre Skripte auf mehreren Geräten zu testen.

Ausführen von Appium-Skripten auf mehreren Geräten mit BrowserStack

Das Ausführen Ihres Testskripts auf BrowserStack mit mehreren Geräten ist mit App Automate ziemlich unkompliziert. Sie müssen nur ein paar Schritte befolgen, um Ihre Konfigurationen zu ändern, und es wird Ihre vorhandene Testautomatisierung mit BrowserStack integrieren.

Schritt 2: Laden Sie Ihre .apk- oder .ipa-Datei auf BrowserStack hoch. Dies können Sie über die Option „Ihre App auf Ihrem Dashboard hochladen“ tun, oder Sie können auch die BrowserStack APIs verwenden, um sie automatisch hochzuladen. Nach dem Hochladen Ihrer Anwendung erhalten Sie eine App-URL.

{
"app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4"
}

Copied

Schritt 3: Geben Sie die zu testende Anwendung mithilfe der app Fähigkeit an. Verwenden Sie den app_url Wert, der beim Hochladen der App (Schritt 2) zurückgegeben wurde, um diese Fähigkeit festzulegen.

  • Geben Sie das reale Android- oder iOS-Gerät an, das Sie testen möchten, indem Sie die device Fähigkeit verwenden.
  • Um einen Appium-Treiber zu initialisieren, verwenden Sie eine Remote-BrowserStack-URL zusammen mit Ihren BrowserStack-Zugangsdaten (wie in Schritt 1 erwähnt), wie unten gezeigt:

https://YOUR_USERNAME:[email protected]/wd/hub

Es wird so aussehen:

userName = "YOUR_USERNAME"
accessKey = "YOUR_ACCESS_KEY"
desired_caps = { "build": "Android",
"device": "Samsung Galaxy S8 Plus",
platformVersion": "11.0",
"app": "<app_url>"
}
driver = webdriver.Remote("https://" + userName + ":" + accessKey +
"@hub-cloud.browserstack.com/wd/hub", desired_caps)

Copied

Dadurch wird Ihr Appium-Skript auf den echten Geräten von BrowserStack in der Cloud ausgeführt.

Sie können das Gerät einfach ändern, indem Sie dessen Namen und Plattformversion in den gewünschten Caps ändern. Auf BrowserStack können Sie Ihre Tests auch parallel ausführen, um Ihre Automatisierung schneller abzuschließen. BrowserStack bietet Video-, Geräte-, Netzwerk- und Appium-Protokolle zur Fehlerbehebung, und Sie können Ihre Testläufe auf Ihrem Dashboard überprüfen. BrowserStack kann Ihnen helfen, Ihre Testskripte mit mehreren Geräten auszuführen, und Sie müssen diese Geräte nicht selbst verwalten.

Zusammenfassend,

BrowserStacks App Automate macht die Testung auf mehreren realen Geräten einfach. Indem man einfach die gewünschten Kapazitäten ändert, kann der Benutzer leicht Tests auf Tausende von Geräten ausführen und systematisch feststellen, ob seine Anwendung bereit für die Veröffentlichung ist oder nicht. QA-Teams werden es einfach finden, das Ergebnis-Dashboard zu verwenden, um Fehler sofort zu finden und zu debuggen.

Führen Sie Appium-Tests kostenlos durch

Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium