找不到 findelementbyandroiduiautomator 方法用于 appium android 驱动程序



我正在使用带有mobileElement typecast的android驱动程序,但是在我的方法列表中找不到findelementbyandroiduiautomator方法。所有其他方法都没有检查我应用程序上的任何元素,这看起来像是我最后的手段。

driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), cap);

当我尝试使用该方法时,我得到的编译器错误是这样的:找不到驱动程序的findelementbyandroiduiautomator方法。

请尝试以下代码,它对我有用:

driver.findElement(new AppiumBy.ByAndroidUIAutomator("attribute("Value")")).click();

如果您

使用的是 Appium Java 客户端版本 6 以上,请尝试以下代码

AndroidDriver driver=new AndroidDriver(new URL(""), cap); driver.findElement(MobileBy.AndroidUIAutomator("")).click();

如果您使用的是 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 的引用,则不需要此向下转换。 例如:

AndroidDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);
driver.findElementByAndroidUIAutomator("some expression").click();

因为findElementByAndroidUIAutomator是Java 8以后支持的默认方法。请在项目中检查您的 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。

最新更新