2017-05-13 6 views
0

Ich bin ein Anfänger in der Automatisierungsprüfung. Ich versuche, ein gemeinsames Testprojekt für meine Android- und iOS-App zu schreiben. Beide Apps auf iOS und Android haben fast die gleiche Benutzeroberfläche und fließen. Ich möchte wissen, wie ich Appium-Treiber auf der Grundlage der Plattform instanziieren kann. Ab jetzt denke ich eine boolesche Variable isAndroid zu haben, die ich hätte auf isAndroid die tests.Based im Code manuell zu ändern, wie pro @AndroidFindby befinden ich instanziiert AppiumDriver zu AndroidDriver oder IOSDriver und Elemente vor dem Laufen oder @ IOSFindBy Wenn ich Appium vom Terminal zu starten, erwähne ich den Parameter Platform, ist es eine Möglichkeit, dass die Informationen in meinem Code zu holen so, dass ich zu isAndroid variabel und genau den gleichen Testcode auf beiden Plattformen läuft nicht manuell ändern.Wie Instanziieren Appium-Treiber basierend auf Plattform?

Antwort

0

Sind Sie in der Lage eine Plattform, um zu versuchen, die Ausnahme abfangen und dann die andere versuchen?

try: 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', ios_caps) 
    run_iOS_tests(driver) 
except selenium.common.exceptions.WebDriverException: 
    driver = webdriver.Remote('http://localhost:4723/wd/hub', android_caps) 
    run_android_tests(driver) 

Andernfalls müssen Sie einige externe Methode verwenden, um zu sehen, welche Geräte angeschlossen sind (android, ios).

Verwandte Themen