无法实例化AppiumDriver类型

时间:2014-11-03 13:45:00

标签: java selenium appium

我在项目构建路径中添加了以下jar:

  1. 来自http://appium.io/downloads.html>>的java-client-2.0.0 Appium客户端库>>爪哇
  2. 硒的Java-2.43.1
  3. 硒的Java-2.43.1-SRCS
  4. 硒 - 服务器 - 独立-2.43.1
    这是我的代码:

    public class SampleApp{
    
    WebDriver dr;
    
    @Test
    public void testApp() throws MalformedURLException, InterruptedException {
        String apkpath = "D:\\apkdump\\sampleapp.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解决错误。

    广告系列之间有什么冲突?

    我看到了类似的问题here,但是可以运行代码并获得Null pointer exception但是在我的情况下我甚至无法运行它,它正在运行以保存代码。其次,答案已发布,未使用 AppiumDriver

5 个答案:

答案 0 :(得分:23)

您无需降级或任何其他内容。 Java Client版本2.0.0中的设计更改正如他们在site上提到的那样:

  

AppiumDriver现在是一个抽象类,使用IOSDriver和AndroidDriver来扩展它。

因此,只需将您的驱动程序行更改为:

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

希望有帮助...

答案 1 :(得分:1)

可以通过将Appium Client(请参阅我的问题中的第1步)从最新版降级为java-client-1.5.0来修复此错误。您可以将其余的罐子保留到最新状态。

可以从此处http://mvnrepository.com/artifact/io.appium/java-client/1.5.0

下载Appium Client的降级版本

答案 2 :(得分:1)

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;

答案 3 :(得分:0)

dr = new AppiumDriver(新网址(“http://127.0.0.1:4723/wd/hub”),功能);

要建立的正确网址

答案 4 :(得分:0)

对于appium 1.7版使用功能 cap.setCapability(MobileCapabilityType.AUTOMATION_NAME,“ uiautomator2”);

同时为v1.8.1 它不需要