我正在使用带有mobileElement类型转换的android driver,但在我的方法列表中找不到findelementbyandroiduiautomator自动机方法。所有其他方法都没有检查我的应用程序上的任何元素,这看起来是我最后的选择。
driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), cap);
当我尝试使用该方法时,我得到的编译器错误是:未找到驱动程序的findelementbyandroiduiautomator自动机方法。
发布于 2019-11-20 23:47:15
如果您使用的是Appium Java客户端版本6以上的版本,请尝试以下代码
AndroidDriver driver=new AndroidDriver(new URL(""), cap); driver.findElement(MobileBy.AndroidUIAutomator("")).click();
发布于 2021-04-12 17:46:15
如果您使用的是WebDriver或AppiumDriver的引用变量,则需要将驱动程序向下转换为AndriodDriver才能访问findElementByAndroidUIAutomator()方法。因为此方法特定于AndriodDriver,在父类或接口中不可用。例如:
WebDriver driver = = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
((AndroidDriver) driver).findElementByAndroidUIAutomator("some expression").click();
注意:如果您直接使用AndroidDriver的reference,则不需要进行此向下转换。例如:
AndroidDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
driver.findElementByAndroidUIAutomator("some expression").click();
发布于 2021-05-15 22:58:17
因为findElementByAndroidUIAutomator是Java8及更高版本所支持的默认方法。请在项目中检查您的java版本。将其更改为1.8+。
Right click on the project -> Properties -> check JRE library version and Double click on JRE System library to change -> Change JRESE-1.8
您将获得带有驱动程序对象的findElementByAndroidUIAutomator。
https://stackoverflow.com/questions/56710457
复制相似问题