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

WebdriverIO - Run the same code parallelly on Android and iOS

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

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

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

在 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