Deutsch English
Kostenlos starten English Anmelden Registrieren

Testautomatisierung mit Appium & Jetpack Compose

Die Verwendung der folgenden Testframeworks und Testtools wurde evaluiert und geprüft. Weitere gängige Frameworks und Testtools sind in Evaluierung. Bei Fragen zur Verwendung Ihrer favorisierten Testtools kommen Sie gerne auf uns zu.

Appium Appium + Jetpack Compose XCUITest Espresso TestCafe Tosca Selenium

Testen Sie Ihre Android Jetpack Compose App mit Appium auf den Geräten der Mobile Device Cloud

Für den Test einer Jetpack Compose App mit Appium muss der entsprechende Espresso Treiber verwendet werden.

Folgende Beschreibung zeigt Ihnen das Vorgehen:

import io.appium.java_client.AppiumBy;
import io.appium.java_client.android.AndroidDriver;
import org.junit.*;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;
import java.net.URL;

public class EspressoTest {

    private final String CLOUD_ACCESS_KEY = "<ACCESS_KEY>";
    private final String APP_PATH = "cloud:<APP_BUNDLE_ID>";
    private final String ESPRESSO_SERVER= "<ESPRESSO_SERVER_UNIQUE_NAME>";
    protected AndroidDriver driver = null;
    private final DesiredCapabilities dc = new DesiredCapabilities();

    @Before
    public void setUp() throws MalformedURLException {
        dc.setCapability("accessKey", CLOUD_ACCESS_KEY);
        dc.setCapability("app", APP_PATH);
        dc.setCapability("espressoServerUniqueName", ESPRESSO_SERVER);

        dc.setCapability("platformName", "Android");
        dc.setCapability("automationName", "Espresso");
        dc.setCapability("deviceQuery", "@os='android' and @category='PHONE'");
        dc.setCapability("testName", "Quick Start Espresso Demo");
        dc.setCapability("appium:appiumVersion", "2.0.0.beta.23");

        driver = new AndroidDriver(new URL("https://mobiledevicecloud.t-systems-mms.eu/wd/hub"), dc);
        driver.setSetting("driver", "compose");
    }

    @Test
    public void quickStartEspressoDemo() {
        WebElement text = driver.findElement(AppiumBy.tagName("myTextTag"));
        Assert.assertEquals("Hello Espresso!", text.getText());
        driver.findElement(AppiumBy.tagName("myButtonTag")).click();

        driver.findElement(AppiumBy.tagName("myInputTag")).sendKeys("Mobile Device Cloud");
        driver.hideKeyboard();
        driver.findElement(AppiumBy.tagName("myInputButtonTag")).click();

        WebElement keywords = driver.findElement(AppiumBy.tagName("myKeywordsTag"));
        Assert.assertEquals("Mobile Device Cloud", keywords.getText());
    }

    @After
    public void tearDown() {
        System.out.println("Report URL: "+ driver.getCapabilities().getCapability("reportUrl"));
        driver.quit();
    }
}

Erste Schritte mit Appium + Jetpack Compose

1.

Demo-Projekt herunterladen

2.

Espresso-Treiber installieren

3.

Fehlende Informationen ergänzen

4.

Setup ausführen

5.

Apps hochladen

6.

Tests starten

1. Demo-Projekt herunterladen

Laden Sie unser Demo Projekt herunter und importieren Sie es in Ihre IDE für einen reibungslosen Start.

2. Espresso-Treiber installieren

Neben Ihrer zu testenden App wird für Espresso Tests zusätzlich eine Server App benötigt. Diese wird automatisch vom Espresso-Treiber für Appium gebaut. Dafür müssen Sie einen lokalen Appium-Server installieren. Laden Sie sich Node.js und NPM herunter und installieren Sie es.

Anschließend installieren Sie Appium 2 und den Espresso-Treiber im Terminal über die folgenden Befehle:

npm install -g appium@next
appium driver install espresso

Starten Sie nun den Appium-Server mit dem Kommando:

appium

Es sollten nun die Meldungen erscheinen, dass:

  • Appium 2 gestartet wurde
  • Der Espresso-Treiber geladen wurde
  • Die REST-Schnittstelle verfügbar ist
Mobile Device Cloud

3. Fehlende Informationen ergänzen

Öffnen Sie die EspressoSetup.java Datei. In dieser Datei sind zwei Platzhalter, die Sie füllen müssen:

<LOCAL_APPIUM_SERVER>: Die URL zur REST-Schnittstelle Ihres lokalen Appium-Servers. Diese wird beim starten des Servers im Terminal angezeigt. (z.B. http://0.0.0.0:4723)

<APK_PATH>: Der Pfad zur APK-Datei Ihrer App, die Sie vorher mit Android Studio generiert haben. (Build → Build APK)

4. Setup ausführen

Fahren Sie einen Emulator in Android Studio hoch oder verbinden Sie ein echtes Android Gerät mit Ihrem Computer.

Starten Sie die EspressoSetup.java Datei entweder im Run oder im Debug Modus. Das Setup ist abgeschlossen, wenn die Tests erfolgreich durchgelaufen sind.

Während des Setups werden einige Informationen im Terminal des Appium Servers ausgegeben. Darunter auch die Zeile:

"Installing Espresso Test Server apk from the target device ..." mit einem Pfad zur Espresso-Server-APK. Kopieren Sie diese APK zusammen mit der APK Ihrer App in einen gemeinsamen Order, um Sie später wiederzufinden.

HINWEIS: Der Espresso-Server hängt stark von Ihrer App ab. Deswegen muss er immer mithilfe des Setups neu gebaut werden, wenn sich Abhängigkeiten in Ihrer App ändern.

Mobile Device Cloud

5. Apps hochladen

Laden Sie Ihre App und den Espresso-Server hoch in die Mobile Device Cloud.

Vergeben Sie dem Espresso-Server einen Unique Name.

6. Tests starten

Füllen Sie die Platzhalter in der Datei MdcEspressoTest.java mit Ihren Daten.

Starten Sie die Tests im Run oder Debug Modus. Diese werden nun in der Mobile Device Cloud ausgeführt.

Anhand der Beispiele können Sie eigene Tests implementieren!