Appium: ClassNotFoundException: org.openqa.selenium.remote.internal.ApacheHttpClient $ Factory - PullRequest
0 голосов
/ 22 февраля 2020

В моем проекте 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>

, а затем у меня есть очень простой c код, чтобы открыть приложение:

    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);

Но он жалуется на следующую ошибку:

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)

Мои зависимости неверны? Как я могу это исправить?

1 Ответ

0 голосов
/ 24 февраля 2020

Первое, что нужно иметь в виду: не смешивайте зависимости селена и аппиума. У Appium уже есть зависимость от селена , и если ее явно установить, вы можете вызвать проблему.

Другой разумный вопрос: вы используете довольно старую версию клиента, текущая версия 7.3. 0 Проверьте, какой сервер Appium вы установили, и если он 1.15.x +, вам, вероятно, также потребуется использовать клиент fre sh.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...