Не может инстанцировать AppiumDriver тип

я добавил следующие банки в мой путь сборки проектов:

  1. java-client-2.0.0 от http://appium.io/downloads.html > > клиентские библиотеки Appium > > Java
  2. селен-java-2.43.1
  3. selenium-java-2.43.1-srcs
  4. selenium-сервер-автономный-2.43.1
    и вот мой код:

    public class SampleApp{
    
    WebDriver dr;
    
    @Test
    public void testApp() throws MalformedURLException, InterruptedException {
        String apkpath = "D:apkdumpsampleapp.apk";
        File app = new File (apkpath);
        DesiredCapabilities capabilities= new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
        capabilities.setCapability("deviceName","TestADB18");
        capabilities.setCapability("platformName","Android");
        capabilities.setCapability("app",app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.test");
        capabilities.setCapability("appActivity", "com.sampleapp.Main");
        dr = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    
    }
    
    
    }
    

    Я получаю красную линию ниже new AppiumDriver в котором говорится, что Cannot instantiate the type AppiumDriver. Теперь если удалить все selenium jars ошибка исчезает, но затем я не могу разрешить ошибки с помощью webdriver.

    что такое конфликт между банки?

    Я видел подобный вопрос здесь но это могло запустить код и получить Null pointer exception но в моем случае я не могу даже запустить его, он дает запустить при сохранении кода. Во-вторых,ответ был опубликован без использования AppiumDriver

5 ответов


вам не нужно понижать рейтинг или что-то еще. Существует изменение дизайна в версии клиента Java 2.0.0, как они упоминают на их сайт:

AppiumDriver теперь является абстрактным классом, используйте IOSDriver и AndroidDriver, которые расширяют его.

Итак, просто измените строку драйвера на:

dr = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);

надеюсь, что это поможет...


эта ошибка может быть исправлена путем снижения Appium Client(см. Шаг 1 в моем вопросе) от последнего до java-client-1.5.0. Остальные банки можете оставить себе.

Пониженная версия Appium Client можно скачать здесь http://mvnrepository.com/artifact/io.appium/java-client/1.5.0


WebDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),getDesiredCapabilities("192.21.168.56:5555"));

использовать это. и импорт:

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;

dr=новый AppiumDriver (новый URL ("http://127.0.0.1:4723/wd/hub"),возможности);

правильный URL-адрес для установки


для appium версии 1.7 использовать возможности крышка.setCapability (MobileCapabilityType.AUTOMATION_NAME, "uiautomator2");

а для v1.8.1 его не нужно