WebdriverIO - 在 Android 和 iOS 上并行运行相同的代码

Posted

技术标签:

【中文标题】WebdriverIO - 在 Android 和 iOS 上并行运行相同的代码【英文标题】:WebdriverIO - Run the same code parallelly on Android and iOS 【发布时间】:2021-11-21 03:42:47 【问题描述】:

我正在研究移动自动化,我需要在 Andorid 和 ios 中同时运行相同的规范。但 android 和 iOS 应用中的定位器并不相同。

我可以在 page.js 中为单个元素定义两个定位器吗?

类似于 Selenium+Appium 使用注解 AndroidFindBy 和 iOSFindBy

【问题讨论】:

【参考方案1】:

在 WebdriverIO 中有一个选项可以做到这一点

get username() 
    const selectorAndroid = 'new UiSelector().text("Cancel").className("android.widget.Button")'
    const selectorIOS = 'UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0]'
    const selectorType = driver.isAndroid ? 'android' : 'ios'
    const selector = driver.isAndroid ? selectorAndroid : selectorIOS
    return $(`$selectorType=$selector`)

参考:WebdriverIO

【讨论】:

以上是关于WebdriverIO - 在 Android 和 iOS 上并行运行相同的代码的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Appium 和 WebDriverIO 在 Windows 应用程序上滚动?

避免在登录表单中使用 WebDriverIO 重新输入用户/电子邮件和密码

NightwatchJS 和 WebdriverIO 有啥区别?

XRAY 和 WebdriverIO 集成

用于无头和有头的 Webdriverio 的基本身份验证

如何在 VS Code 上获得 WebdriverIO 自动完成功能