German English
Start for free Log in Register
Language
German English

Who is the Mobile Device Cloud suitable for?

Test automation

With its mobile device testing features, the Mobile Device Cloud is aimed at test automators of mobile apps for iOS and Android and web applications, among others.

With the following features, the Mobile Device Cloud supports the successful test automation process:

Support for automation frameworks Appium, Espresso, XCUITest, Selenium. Automation of native apps and web applications. Automation using Java, Python, Ruby, JavaScript. Integration in the CI/CD pipeline using Gradle or Maven. Provision of reports of the test executions. Developer mode (analysis of the app and website structure).
<
>
Automated test execution(Video) reports of the test executionDeveloper mode | Mobile Device Cloud
import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.ios.IOSElement;
import io.appium.java_client.remote.MobileBrowserType;
import org.openqa.selenium.By;
import org.openqa.selenium.ScreenOrientation;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

public class LocalMobileTest {
    private String accessKey = "ACCESS_KEY";
    WebDriverWait webDriverWait = null;
    protected IOSDriver<IOSElement> driver = null;
    DesiredCapabilities dc = new DesiredCapabilities();

    @BeforeTest
    public void setUp() throws MalformedURLException {
        dc.setCapability("accessKey", accessKey);
        dc.setCapability("testName", "Quick Start iOS Browser Demo");
        dc.setCapability("deviceQuery", "@os='ios' and @category='PHONE'");
        dc.setBrowserName(MobileBrowserType.SAFARI);
        driver = new IOSDriver<>(new URL("https://mobiledevicecloud.t-systems-mms.eu/wd/hub"), dc);
        webDriverWait = new WebDriverWait(driver, 5);
    }

    @Test
    public void quickStartiOSBrowserDemo() {
        driver.rotate(ScreenOrientation.PORTRAIT);

        driver.get("https://mobiledevice.cloud/");

        waitUntilElementLoaded("//*[@id='no_consent']").click();
        waitUntilElementLoaded("//*[@class='navbar-toggler-icon']").click();

        waitUntilElementLoaded("//*[@id='blog']").click();
        waitUntilElementLoaded("//*[@id='article1']").click();

        WebElement author = waitUntilElementLoaded("//*[@class='author']");

        Assert.assertTrue(author.isDisplayed());

        waitUntilElementLoaded("//*[@class='navbar-toggler-icon']").click();
        waitUntilElementLoaded("//*[@id='link_faq']").click();

        List<WebElement> faq_blocks = waitUntilElementsLoaded("//*[@class='faq_block']");
        WebElement faqSearch = waitUntilElementLoaded("//*[@id='faq-search']");

        Assert.assertTrue(faqSearch.isDisplayed());
        Assert.assertTrue(
            faq_blocks.size() > 0,
            "Expected at least one faq_block element, but there are no elements with that name");
        Assert.assertEquals(
            faq_blocks.size(),
            12,
            "Expected twelve faq_block elements, but there are " + faq_blocks.size() + " elements");

        faqSearch.sendKeys("automatisierte");

        List<WebElement> found_faqs = waitUntilElementsLoaded("//*[@class='faq_block search-hit']");

        Assert.assertTrue(
            found_faqs.size() > 0,
            "Expected at least one faq_block element, but there are no elements with that name");
        Assert.assertEquals(
            found_faqs.size(),
            5,
            "Expected five faq_block elements, but there are " + found_faqs.size() + " elements");
    }

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

    private WebElement waitUntilElementLoaded(String xpath) {
        return webDriverWait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(xpath)));
    }

    private List<WebElement> waitUntilElementsLoaded(String xpath) {
        return webDriverWait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(xpath)));
    }
}
Tester

With its mobile device testing features, the Mobile Device Cloud is aimed at testers of mobile apps for iOS and Android and web applications, among others.

With the following features, the Mobile Device Cloud supports the successful testing process:

You can upload, install and test your app that you would like to test at any time via our internal application manager. All you need is the APK (Android) or IPA (iOS). Testflight or the MS Appmanager are not necessary. Test the functions of your app as if you had the device in your hand. To do this, you can simply control the device and your app using the keyboard and mouse. The usual gestures (swipe, scroll, zoom) are available. Simulate images for the camera e.g. QR code for scanning in your app Simulate GPS positions Simulate the use of biometric authentication (fingerprint)
<
>
Gestures Camera GPS | Mobile Device Cloud
Control your app with the usual gestures. Simulate camera images via image upload. Simulate GPS positions around the world.
Developer

With its mobile device testing functions, the Mobile Device Cloud is aimed at developers of mobile apps for iOS and Android and web applications, among others.

The Mobile Device Cloud supports the successful development process with the following functions:

Deploy your app versions as APK and IPA during development through an integrated app manager. Manually or automatically (via a REST interface) upload your app development status to the Mobile Device Cloud at any time and check its functions on the mobile devices Use the provision of device logs and remote debugging capabilities to identify causes of errors The monitoring function gives you insight into the actual battery, CPU, memory and network usage of your app under real conditions
<
>
Device log Monitoring | Mobile Device Cloud
Keep an eye on the logs of the device. Keep an eye on your app's battery, CPU, memory and network usage.
Designer & UX Tester
With its mobile device testing features, the Mobile Device Cloud is aimed at designers and UX testers of mobile apps for iOS and Android and web applications, among others.

The Mobile Device Cloud supports the successful design process with the following features: Tests on different display sizes Portrait and landscape mode Test accessibility

<
>
Portrait and landscape mode Color blindness Blurred vision | Mobile Device Cloud
Using the function of rotating the device, to check the orientation in portrait and landscape mode Viewing the device content like a user with colour vision impairment Show how users with impaired vision perceive the content of your device

Do you have any questions?

Contact now Start for free