Mobile Device Cloud AI4Test Quality & Intelligent Automation Unsere Expertise Blog Kategorien Mobile Device Cloud Testen mit künstlicher Intelligenz Quality & Intelligent Automation Support Erste Schritte EN DE EN DE Leistungen Mobile Device Cloud Funktionen im Überblick Tarife im Vergleich Zielgruppe Automatisierung & Frameworks Vorteile Geräte in der MDC Erste Schritte mit der MDC Preise & Bestellen AI4Test Überblick Details Funktionsweise & Vorgehen Einsatzmöglichkeiten Vorteile Preise & Anfragen Quality & Intelligent Automation Prozesse Effizienz Lösungen Vorteile Expertise Anfragen Unsere Expertise Best Practice Experten Partner Blog Blog Kategorien Release Notes Appium Automatisierung Webportal Preise & Bestellung Mobile Device Cloud Testen mit künstlicher Intelligenz Quality & Intelligent Automation Hilfe Support Kontakt Häufig gestellte Fragen Erste Schritte Registrierung und Bestellung Nutzung der Mobile Device Cloud

Mobile App & Website Test & Automatisierung mit dem Robot Framework

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 Testerra Flutter React Native Playwright Robot Framework Jenkins TeamCity

Mobile Apps & Websiten mit dem Robot Framework auf realen Geräten testen

Robot Framework ist ein leistungsstarkes Open-Source-Automatisierungsframework, das für Testautomatisierung eingesetzt wird. Es bietet eine einfach zu erlernende, keyword-basierte Skriptsprache und unterstützt eine Vielzahl von Anwendungsfällen durch seine modulare Architektur.

In der Mobile Device Cloud können automatisierte Tests mit Robot Framework auf echten mobilen Geräten ausgeführt werden. Dies ermöglicht eine effiziente und zuverlässige Überprüfung von mobilen Anwendungen.

Android
*** Settings ***
Library             AppiumLibrary
Suite Teardown      Close Session

*** Variables ***
${PLATFORM_NAME}   	Android
${ANDROID_PACKAGE}	com.experitest.ExperiBank
${ANDROID_ACTIVITY}	.LoginActivity
${APPIUM_VERSION}   2.2.2
${TEST_NAME}        Robot Native Test - Android
${cloudUrl}         https://mobiledevicecloud.t-systems-mms.eu/wd/hub
${accessKey}        <accesskey>
${deviceQuery}      @os='android' and @category='PHONE'

*** Keywords ***
Start Session
    Open Application
    ...		${cloudUrl}	experitest:accessKey=${accessKey}
    ...		app=cloud:${ANDROID_PACKAGE}/${ANDROID_ACTIVITY}
    ...		platformName=${PLATFORM_NAME}	appPackage=${ANDROID_PACKAGE}
    ...		appActivity=${ANDROID_ACTIVITY}
    ...     appiumVersion=${APPIUM_VERSION}
    ...     testName=${TEST_NAME}
Close Session
    Close Application

Login
    Input Text	    id= com.experitest.ExperiBank:id/usernameTextField	company
    Input Text	    id=com.experitest.ExperiBank:id/passwordTextField	company
    Click Element	id=com.experitest.ExperiBank:id/loginButton
    BuiltIn.Sleep	5s

*** Test Cases ***
${TEST_NAME} - Login
	Start Session
	Portrait
	Login

${TEST_NAME} - Make Payment
	Click Element	id=com.experitest.ExperiBank:id/makePaymentButton
	Input Text	    id=com.experitest.ExperiBank:id/phoneTextField		0501234567
	Input Text	    id=com.experitest.ExperiBank:id/nameTextField		John Snow
	Input Text	    id=com.experitest.ExperiBank:id/amountTextField		50
	Input Text	    id=com.experitest.ExperiBank:id/countryTextField	Switzerland
	Click Element	id=com.experitest.ExperiBank:id/sendPaymentButton
	Click Element	id=android:id/button1
iOS
*** Settings ***
Library         AppiumLibrary
Suite Teardown	Close Session

*** Variables ***
${PLATFORM_NAME}    iOS
${IOS_BUNDLE_ID}    com.experitest.ExperiBank
${APPIUM_VERSION}   2.2.2
${TEST_NAME}        Robot Native Test - iOS
${cloudUrl}	        https://mobiledevicecloud.t-systems-mms.eu/wd/hub
${accessKey}	    <accesskey>
${deviceQuery}      @os='ios' and @category='PHONE'

*** Keywords ***
Start Session
    Open Application
    ...		${cloudUrl}	experitest:accessKey=${accessKey}
    ...		app=cloud:${IOS_BUNDLE_ID}
    ...		platformName=${PLATFORM_NAME}
    ...		appiumVersion=${APPIUM_VERSION}
    ...		testName=${TEST_NAME}
    ...     deviceQuery=${deviceQuery}

Close Session
    Close Application

Login
    Input Text	    xpath=//*[@name='usernameTextField']	company
    Input Text	    xpath=//*[@name='passwordTextField']	company
    Click Element	xpath=//*[@name='loginButton']

*** Test Cases ***
${TEST_NAME} - Login
	Start Session
	Portrait
	Login

${TEST_NAME} - Make Payment
	Click Element	xpath=//*[@name='makePaymentButton']
	Input Text	    xpath=//*[@name='phoneTextField']		0501234567
	Input Text	    xpath=//*[@name='nameTextField']		John Snow
	Input Text	    xpath=//*[@name='amountTextField']		50
	Click Element	xpath=//*[@name='countryButton']
	Click Element	xpath=//*[@name='Switzerland']
	Click Element	xpath=//*[@name='sendPaymentButton']
	Click Element	xpath=//*[@name='Yes']
Web
*** Settings ***
Library         AppiumLibrary
Suite Teardown	Close Session

*** Variables ***
${PLATFORM_NAME}    iOS     # alternative: Android
${TEST_NAME}        Robot Demo Test - Web
${BROWSER_NAME}     Safari  # alternative: Chrome
${APPIUM_VERSION}   2.2.2
${cloudUrl}         https://mobiledevicecloud.t-systems-mms.eu/wd/hub
${accessKey}        <accesskey>

*** Keywords ***
Start Session
    Open Application
    ...		${cloudUrl}	experitest:accessKey=${accessKey}
    ...		platformName=${PLATFORM_NAME}	browserName=${BROWSER_NAME}
    ...		appiumVersion=${APPIUM_VERSION}
    ...		testName=${TEST_NAME}

Close Session
    Close Application

Double Click
	[Arguments]	@{KWARGS}
	Click Element	@{KWARGS}
	Click Element	@{KWARGS}

*** Test Cases ***
${TEST_NAME}
	Start Session
	Portrait
	Go To Url	    https://demo-bank.ct.digital.ai
	Input Text	    xpath=//*[@data-auto='username']//input		company
	Input Text	    xpath=//*[@data-auto='password']//input		company
	Double Click	xpath=//*[@data-auto='login']
	BuiltIn.Sleep 	5s
	Wait Until Element Is Visible 	xpath=//*[@data-auto='transfer-funds']
	Click Element	xpath=//*[@data-auto='transfer-funds']
	Input Text	    xpath=//input[@name='NAME']                 John
	Input Text	    xpath=//input[@name='PHONE']			    1-234-5678
	Input Text	    xpath=//input[@name='AMOUNT']				1000
	Double Click	xpath=//*[@data-auto='country']
	Click Element	xpath=//*[text()='India']
	Click Element	xpath=//*[@data-auto='transfer-button']

Erste Schritte mit Robot Framework

1.

Robot Framework installieren

2.

Tests vorbereiten

3.

Anwendung in die Cloud laden

4.

Tests ausführen

1. Robot Framework installieren

Bitte installieren Sie, falls noch nicht geschehen, das Robot Framework auf Ihrem System. Die dazugehörige Dokumentation finden Sie hier .

2. Tests vorbereiten

Erstellen Sie nun bitte in der Entwicklungsumgebung ihrer Wahl eine .robot-Datei, die auch Ihre Tests beinhaltet. Wenn Sie sich bei der Erstellung dieser Datei an den oben aufgeführten Beispielen orientieren möchten, können Sie das gerne tun. Bitte ergänzen Sie insbesondere Ihren Mobile Device Cloud-Accesskey sowie die Metadaten zu Ihrer Anwendung.

Für detaillierte Informationen zur Erstellung Ihrer Tests konsultieren Sie bitte die Robot Framework-Dokumentation .

3. Anwendung in die Cloud laden

Bauen Sie Ihre Anwendung entsprechend der von Ihnen verwandeten Technologie.

Bitte laden Sie nun die aus dem vorangegangenen Schritt entstandene Anwendung (APK bzw. IPA) in die Mobile Device Cloud hoch. Genauere Informationen dazu finden Sie hier .

Wenn Sie eine Webanwendung testen möchten, können Sie diesen Schritt selbstverständlich überspringen.

4. Tests ausführen

Um Ihre Tests mit dem Robot Framework in Ihrer Entwicklungsumgebung zu starten, verwenden Sie bitte den folgenden Befehl in der Konsole:

robot .robot

Wenn Sie Ihre einzelnen Testfälle nun parallel auf unterschiedlichen Geräten der Mobile Device Cloud ausführen wollen, installieren Sie bitte die Robot Framework-Erweiterung Pabot. Weitere Informationen dazu finden Sie hier . Anschließend können Sie Ihre Test mit folgendem Befehl starten:

pabot --verbose --testlevelsplit --processes  .robot

Bitte beachten Sie, dass bei einer parallelen Ausführung eine Lauffähigkeit aller Testfälle unabhängig voneinander erforderlich ist.