Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Appium:ClassNotFoundException:org.openqa.selenium.remote.internal.ApacheHttpClient$Factory_Java_Appium - Fatal编程技术网

Java Appium:ClassNotFoundException:org.openqa.selenium.remote.internal.ApacheHttpClient$Factory

Java Appium:ClassNotFoundException:org.openqa.selenium.remote.internal.ApacheHttpClient$Factory,java,appium,Java,Appium,在我的maven项目中,我有以下依赖项: <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifac

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

    <!-- 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>

org.seleniumhq.selenium
硒爪哇
3.141.59
木卫一
java客户端
3.4.1
然后,我有一个非常基本的代码来打开一个应用程序:

    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);
导入java.io.File;
导入java.net.MalformedURLException;
导入java.net.URL;
导入org.openqa.selenium.remote.DesiredCapabilities;
导入io.appium.java_client.android.AndroidDriver;
导入io.appium.java_client.android.AndroidElement;
导入io.appium.java_client.remote.MobileCapabilityType;
文件f=新文件(“src”);
文件fs=新文件(f,“ApiDemos debug.apk”);
DesiredCapabilities=新DesiredCapabilities();
cap.setCapability(移动能力类型设备名称,“myAVD”);
cap.setCapability(MobileCapabilityType.APP,fs.getAbsolutePath());
AndroidDriver ad=新的AndroidDriver(新URL(“http://127.0.0.1:4723/wd/hub"(香港法例第六章),;
但是,它抱怨以下错误:

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)
线程“main”java.lang.NoClassDefFoundError中的异常:org/openqa/selenium/remote/internal/ApacheHttpClient$Factory 位于io.appium.java_client.remote.AppiumCommandExecutor。(AppiumCommandExecutor.java:50) 位于io.appium.java_client.AppiumDriver(AppiumDriver.java:77) 位于io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:67) 位于Appium.Appium.App.main(App.java:30) 原因:java.lang.ClassNotFoundException:org.openqa.selenium.remote.internal.ApacheHttpClient$Factory 位于java.net.URLClassLoader.findClass(URLClassLoader.java:382) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) 我错了吗?
如何修复它?

首先要记住的是:不要混合使用selenium和appium依赖项。Appium已显式设置一个,可能会导致问题


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

请删除selenium依赖项。Java客户端附带selenium deps