Java IOS和Android自动化(后面的页面中有单个getDriver)

Java IOS和Android自动化(后面的页面中有单个getDriver),java,selenium,mobile,automation,automated-tests,Java,Selenium,Mobile,Automation,Automated Tests,我正在自动化所有移动前端(功能)(IOS和Android)。我正在重构一段代码,并希望它在将来的重构中变得实用和干净。 我所做的:我创建了一个类来创建我的AndroidDriver,并创建了另一个类来创建我的IOSDriver。两人都返回司机。 问题是,当我创建下一个页面时,我需要知道是IOS.driver()还是android.driver()能够完成findElements和所有有权完成的操作。 我该如何进行? 是否有一种方法可以创建另一个类来执行IF/ELSE并在将来的页面上调用此基本页面

我正在自动化所有移动前端(功能)(IOS和Android)。我正在重构一段代码,并希望它在将来的重构中变得实用和干净。 我所做的:我创建了一个类来创建我的AndroidDriver,并创建了另一个类来创建我的IOSDriver。两人都返回司机。 问题是,当我创建下一个页面时,我需要知道是IOS.driver()还是android.driver()能够完成findElements和所有有权完成的操作。 我该如何进行? 是否有一种方法可以创建另一个类来执行IF/ELSE并在将来的页面上调用此基本页面方法

页面驱动程序IOS(driverIOS类):

JAVA>Selenium>Appium

你知道我的问题吗


我等待并提前感谢

本例中的核心问题是,即使您能够单独调用驱动程序,您也需要在整个测试过程中携带相同的驱动程序。您的测试将失败,因为您肯定通过了ie设备和操作系统的差异功能,所以这不起作用


解决这个问题的唯一方法是通过BDD框架来实现,在BDD框架中,您可以为iOS和Android测试放置标签,这样您就可以将两者分开。我强烈推荐CodeceptJS来解决您的问题。CodeceptJS内置了在单个存储库中支持iOS和Android测试的方法。

Someone!!!?!
public static IOSDriver<MobileElement> getDriver() {
if (driver == null) {
createDriver();
}
return driver;
}
public static AndroidDriver<MobileElement> getDriver() {
if (driver == null) {
createDriver();
}
return driver;
}
//Or IOS or Android
public static String SO = "IOS";