我为我的网站项目创建了一个WebDriverWrapper。这个包装器有一个受保护的变量:
protected WebDriver driver;
我在这个包装器中有很多方法,它提供了对驱动程序本机方法的扩展。
现在还有另一个项目,但基于Appium的移动设备。 采用类似的方法,我有AppiumDriverWrapper,其变量为:
protected AppiumDriver driver;
然后它将从WebDriverWrapper复制所有方法。 现在我想制作一个核心框架,它可以用于Web和移动框架。
我想问的问题是:
AppiumDriverWrapper extends WebDriverWrapper
从WebDriverWrapper获取所有方法。
但在这种情况下,驱动程序仍然是WebDriver类型而不是AppiumDriver。所以在移动框架中,我不能应用任何适用于AppiumDriver的方法。虽然我可以使用适用于WebDriver的方法。
我可以在AppiumDriverWrapper中创建另一个变量:
protected AppiumDriver appiumDriver
或其他什么,但在这种情况下,我将不得不在很多地方进行更改。