java-client 8.0.0 中不存在 MobileElement

MobileElement not exist in java-client 8.0.0

在遵循本指南后,我找不到为我复制的代码导入 MobileElement 的方法:https://www.youtube.com/watch?v=i1tQ1pjEFWw&t=1915s&ab_channel=edureka%21 在 Appium 中进行测试 Android。

import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.MobileElement;

public class Test {
    public static void main(String args[]){
        MobileElement el3 = (MobileElement) driver.findElementById("com.example.calculator:id/button2");
        el3.click();
        MobileElement el4 = (MobileElement) driver.findElementById("com.example.calculator:id/button5");
        el4.click();
        MobileElement el5 = (MobileElement) driver.findElementById("com.example.calculator:id/buttonPlus");
        el5.click();
        MobileElement el6 = (MobileElement) driver.findElementById("com.example.calculator:id/button3");
        el6.click();
        MobileElement el7 = (MobileElement) driver.findElementById("com.example.calculator:id/button9");
        el7.click();

    }
}

但是录制的代码有 MobileElement,所以我通过从这个站点下载库来做同样的事情:http://appium.io/downloads.html

This is my library which was downloaded from appium.io

但是后来显示没有MobileElement库,所以无法导入。

Cannot resolve symbol 'MobileElement'

是代码老了还是库有更新不知道?

我也在做同样的事情。我的解决方案是切换到已发布的 java-client,而不是 beta 版本。

implementation files('libs\java-client-7.6.0.jar')

https://mvnrepository.com/artifact/io.appium/java-client/7.6.0

祝你好运

Appium java-client v8 使用 Selenium4 并引入了很多重大变化。

你可以看这里 https://github.com/appium/java-client/blob/master/docs/v7-to-v8-migration-guide.md#mobileelement.

建议使用 WebElement 接口类型,而不是 MobileElement。

Appium java-client v8 似乎符合 W3C。因此,迁移到新的 API 是迈向未来的一步。至少在 8.0.0 最终版本发布之后(现在是测试版)。