首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appium: ClassNotFoundException: ClassNotFoundException

Appium: ClassNotFoundException: ClassNotFoundException
EN

Stack Overflow用户
提问于 2020-02-22 14:59:11
回答 1查看 2.1K关注 0票数 0

在我的maven项目中,我有以下依赖项:

代码语言:javascript
复制
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>



    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>3.4.1</version>
    </dependency>

然后,我有一个非常基本的代码来打开一个应用程序:

代码语言:javascript
复制
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import io.appium.java_client.android.AndroidDriver;
    import io.appium.java_client.android.AndroidElement;
    import io.appium.java_client.remote.MobileCapabilityType;

    File f = new File("src");
    File fs = new File(f,"ApiDemos-debug.apk");

    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability(MobileCapabilityType.DEVICE_NAME, "myAVD");
    cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());

    AndroidDriver<AndroidElement> ad = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"),cap);

但是,它抱怨了以下错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/ApacheHttpClient$Factory
    at io.appium.java_client.remote.AppiumCommandExecutor.<init>(AppiumCommandExecutor.java:50)
    at io.appium.java_client.AppiumDriver.<init>(AppiumDriver.java:77)
    at io.appium.java_client.android.AndroidDriver.<init>(AndroidDriver.java:67)
    at Appium.Appium.App.main(App.java:30)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.internal.ApacheHttpClient$Factory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)

我的依赖性是错的吗?我怎么才能修好它?

EN

回答 1

Stack Overflow用户

发布于 2020-02-23 21:28:03

首先要记住的是:不要混合selenium和appium依赖项。Appium已经硒依赖并显式地设置了一个您可能会引起问题。

另一个合理的问题是:您使用的是相当老的客户端版本,当前的版本是7.3.0,检查安装了什么Appium服务器,如果是1.15.x+,您可能也需要使用新客户端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60353442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档