Deutsch English
Kostenlos starten English Anmelden Registrieren

Mobile App Test & Automatisierung mit Appium

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 nativen Apps und Webanwendungen mit Appium auf den Geräten der Mobile Device Cloud

Mit Appium erstellen Sie automatisierte Tests für Ihre Android-, iOS- und Web-Anwendungen, ganz ohne dafür Änderungen an den Anwendungen vornehmen zu müssen.

Alle Selenium API-kompatiblen Programmiersprachen stehen Ihnen für die Entwicklung Ihrer Tests zur Verfügung.

Der Appium-Treiber bietet Ihnen die gewohnte Selenium-Umgebung auf unseren Mobilgeräten.

import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.ios.IOSElement;
import io.appium.java_client.remote.IOSMobileCapabilityType;
import io.appium.java_client.remote.MobileCapabilityType;
import org.junit.*;
import org.openqa.selenium.By;
import org.openqa.selenium.ScreenOrientation;
import org.openqa.selenium.remote.DesiredCapabilities;

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

public class LocaliOSTest {

    private String accessKey = "<ACCESS_KEY>";
    protected IOSDriver<IOSElement> driver = null;
    DesiredCapabilities dc = new DesiredCapabilities();

    @Before
    public void setUp() throws MalformedURLException {
        dc.setCapability("testName", "Quick Start iOS Native Demo");
        dc.setCapability("accessKey", accessKey);
        dc.setCapability("deviceQuery", "@os='ios' and @category='PHONE'");
        dc.setCapability(MobileCapabilityType.APP, "cloud:com.experitest.ExperiBank");
        dc.setCapability(IOSMobileCapabilityType.BUNDLE_ID, "com.experitest.ExperiBank");
        driver = new IOSDriver<>(new URL("https://mobiledevicecloud-test.t-systems-mms.eu/wd/hub"), dc);
    }

    @Test
    public void quickStartiOSNativeDemo() {
        driver.rotate(ScreenOrientation.PORTRAIT);
        driver.findElement(By.xpath("//*[@id='usernameTextField']")).sendKeys("company");
        driver.hideKeyboard();
        driver.findElement(By.xpath("//*[@id='passwordTextField']")).sendKeys("company");
        driver.findElement(By.xpath("//*[@id='loginButton']")).click();
        driver.findElement(By.xpath("//*[@id='makePaymentButton']")).click();
        driver.findElement(By.xpath("//*[@id='phoneTextField']")).sendKeys("0541234567");
        driver.findElement(By.xpath("//*[@id='nameTextField']")).sendKeys("Jon Snow");
        driver.findElement(By.xpath("//*[@id='amountTextField']")).sendKeys("50");
        driver.findElement(By.xpath("//*[@id='countryButton']")).click();
        driver.findElement(By.xpath("//*[@id='Switzerland']")).click();
        driver.findElement(By.xpath("//*[@id='sendPaymentButton']")).click();
        driver.findElement(By.xpath("//*[@id='Yes']")).click();
    }

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

Erste Schritte mit Appium

1.

Binden Sie Appium in Ihr Test-Framework ein

2.

Konfigurieren Sie die Verbindung zu unserer Mobile Device Cloud API

3.

Installieren Sie mit Appium Ihre Anwendungen

4.

Steuern Sie Ihre Apps mit Appium

1. Binden Sie Appium in Ihr Test-Framework ein

Suchen Sie in der Liste der Appium-Clients nach Ihrer gewünschten Entwicklungssprache.

Folgen Sie den Anweisungen des Repositories, um den Client einzubinden.

2. Konfigurieren Sie die Verbindung zu unserer Mobile Device Cloud API

Initialisieren Sie vor Ihren Tests einen Appium-Treiber, mit dem Sie später Elemente Ihrer App ansteuern und automatisieren können.

Der Treiber benötigt zwei Informationen:

  • Den privaten Access Key zu Ihrem Projekt in der Mobile Device Cloud – diesen müssen Sie aus Ihrem Konto kopieren
  • Die URL zum Appium-Server der Mobile Device Cloud - diese ist immer gleich und muss von Ihnen nicht angepasst werden (https://mobiledevicecloud.t-systems-mms.eu/wd/hub)
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability("accessKey", "<ACCESS_KEY>");
IOSDriver<IOSElement> driver = new IOSDriver<>(new URL("https://mobiledevicecloud.t-systems-mms.eu/wd/hub"), dc);

Am besten ist es, den Treiber in der setup() Methode Ihrer Tests aufzubauen und in der teardown() Methode zu schließen.

Orientieren Sie sich am Beispiel oben.

3. Installieren Sie mit Appium Ihre Anwendungen

Laden Sie Ihre App in der Mobile Device Cloud hoch und geben Sie dem Appium-Treiber die Bundle-ID Ihrer App mit, um sie automatisch zu starten.

dc.setCapability(MobileCapabilityType.APP, "cloud:<BUNDLE_ID>");

4. Steuern Sie Ihre Apps mit Appium

Verwenden Sie die Methoden des Appium-Treibers, um Ihre App zu automatisieren:

findElement(...)
sendKeys(...)
hideKeyboard()
rotate(...)
...