今天在查询 Appium 的一些 API 的时候,发现一些自己没有版本没有一些 API
sendKeyEvent
findElementByAndroidUIAutomator
getNetworkConnection()
我就随便写了几个,发现都没有,原来问题是这个
private AppiumDriver driver;
这么声明的 driver 是没有上面提到的 API 的,后来在一个叫稻梦的同学帮忙下解决这个问题
private AndroidDriver<AndroidElement> driver;
这个 driver 正确的声明是上面这样的,这么声明后,剩下的 API 就全正常了。
上面如果有错误麻烦指出,新手学习中。。。
正好看到一哥们写的原理,看下就明白上面的原因了
https://testerhome.com/topics/1206
public class AndroidDriver<RequiredElementType extends WebElement> extends AppiumDriver<RequiredElementType> implements
AndroidDeviceActionShortcuts, HasNetworkConnection, PushesFiles,
StartsActivity, FindsByAndroidUIAutomator<RequiredElementType>
public abstract class AppiumDriver<RequiredElementType extends WebElement> extends DefaultGenericMobileDriver<RequiredElementType>
查找源码的时候发现上面问题出现的原因,感觉是作者为了兼容以前版本还有使用 AndroidDriver 这个类,就直接继承了 AppiumDriver,在 AppiumDriver 基本上再封装一些基本功能。