如何基于平台实例化Appium驱动程序



我是自动化测试的初学者。我正在尝试为我的安卓和iOS应用程序编写通用测试项目。ios和Android上的应用程序具有几乎相同的UI和流程。我想知道如何基于平台实例化 Appium 驱动程序。截至目前,我正在考虑有一个布尔变量是Android,在运行测试之前,我必须在代码中手动更改它。基于isAndroid,我将AppiumDriver实例化为AndroidDriver或IOSDriver,元素将根据@AndroidFindby或@IOSFindBy当我从终端启动 Appium 时,我提到了参数 platformName,有没有办法在我的代码中获取该信息,这样我就不必手动更改 isAndroid 变量,并且在两个平台上运行完全相同的测试代码。

您是否能够尝试一个平台,捕获异常,然后尝试另一个平台?

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)

否则,您需要使用一些外部方法来查看连接了哪些设备(android,ios(。

最新更新