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
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();
}
}
1.
2.
3.
4.
Suchen Sie in der
Folgen Sie den Anweisungen des Repositories, um den Client einzubinden.
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:
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.
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>");
Verwenden Sie die Methoden des Appium-Treibers, um Ihre App zu automatisieren:
findElement(...)
sendKeys(...)
hideKeyboard()
rotate(...)
...