在相同的代码中与 IOS 和 android 一起工作
Posted
技术标签:
【中文标题】在相同的代码中与 IOS 和 android 一起工作【英文标题】:work with IOS and android together in same code 【发布时间】:2021-09-21 14:10:04 【问题描述】:我正在寻找一种方法来使用适用于 android 和 ios 真实设备的一个驱动程序,例如,现在如果我以 IOS = IOSDriver<MobileElement> driver;
开头并解锁我的设备,例如我的代码是 driver = new IOSDriver<>(url, dc);
和 @ android 的 987654323@ 相同,但如果我的驱动程序是 AppiumDriver driver;
,代码将无法在 driver.unlockDevice();
上运行,那么在一个驱动程序中同时使用 android 和 ios 的选项有哪些?
【问题讨论】:
【参考方案1】:这是 POC - 处理得不是很好。只是为了快速浏览。 而且...我不确定 iOS 驱动程序 - 如果它甚至可以处理设备解锁 - 可能只在模拟器上...
public static AppiumDriver<MobileElement> driver;
public static DesiredCapabilities iosCaps;
public static DesiredCapabilities androidCaps;
public void caps()
iosCaps = new DesiredCapabilities();
iosCaps.setCapability("deviceName", "iPhone 5");
androidCaps = new DesiredCapabilities();
androidCaps.setCapability("deviceName", "Samsung X");
protected void startDriver() throws MalformedURLException
caps();
if (device == android)
driver = new AndroidDriver<>(new URL("appium url"), androidCaps);
else if (device == ios)
driver = new IOSDriver<>(new URL("appium url"), iosCaps);
public void iosLock()
((IOSDriver) driver).lockDevice();
((IOSDriver<MobileElement>) driver).lockDevice();
public void androidLock()
((AndroidDriver) driver).lockDevice();
【讨论】:
以上是关于在相同的代码中与 IOS 和 android 一起工作的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中与 InAppBrowser 插件一起使用时如何更改状态栏颜色?
Xcode 7.3 如何将我现有的 iPhone 应用程序转换为通用应用程序,以便在 iOS 中与 iPad 一起使用
WebdriverIO - 在 Android 和 iOS 上并行运行相同的代码