java-client 8.0.0 中不存在 MobileElement

Posted

技术标签:

【中文标题】java-client 8.0.0 中不存在 MobileElement【英文标题】:MobileElement not exist in java-client 8.0.0 【发布时间】:2022-01-13 02:55:09 【问题描述】:

在遵循本指南后,我找不到导入 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'

是因为代码太旧还是库有我不知道的更新?

【问题讨论】:

【参考方案1】:

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

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

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

祝你好运

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

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 版本之后(现在是测试版)。

【讨论】:

以上是关于java-client 8.0.0 中不存在 MobileElement的主要内容,如果未能解决你的问题,请参考以下文章

Appium Android 如何检查switch开关状态

向下滚动以查找文本在 android 模拟器中不起作用的元素

Jaeger-Opentracing的Java-client

jaegeropentracing的Java-client完整分布式追踪链

Jaeger-Opentracing的Java-client完整分布式追踪链

java-client 升级后没法使用swipe方法,使用TouchAction进行封装