java - 无法实例化 AppiumDriver 类型

标签 java selenium appium

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

  1. java-client-2.0.0 来自 http://appium.io/downloads.html >> Appium 客户端库 >> Java
  2. selenium-java-2.43.1
  3. selenium-java-2.43.1-srcs
  4. selenium-server-standalone-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 jar,错误就会消失,但我无法使用 webdriver 解决错误。

    jar 之间的冲突是什么? 我看到了类似的问题here但这可以运行代码并得到 Null pointer exception 但在我的情况下我什至无法运行它,它正在运行保存代码。其次,答案已在未使用 AppiumDriver

  5. 的情况下发布

最佳答案

您不需要降级或任何东西。正如他们在 site 中提到的那样,Java 客户端版本 2.0.0 中有一个设计更改。 :

AppiumDriver is now an abstract class, use IOSDriver and AndroidDriver which both extend it.

所以,只需将您的驱动程序行更改为:

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

希望对您有所帮助...

关于java - 无法实例化 AppiumDriver 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715642/

相关文章:

java - 如何使 jetty 服务器从局域网访问?

java - 如何设置 Jetty 接受的最大连接数

java - Java 中 iText 中的列表字母和项目符号问题

ubuntu - ubuntu 上的 Appium 设置

xamarin - 示例 Xamarin 应用程序在 iPhone 模拟器上崩溃

java - 在 Java 中调试 - 设置 debugMode 标志

java - 使用 Selenium 在 Chrome 上处理 "Your connection to this site is not private"弹出窗口

python - 使用python和selenium删除我在reddit中的评论

selenium - junit.framework.AssertionFailedError : No tests found in register

java - 如何使用 Appium Driver 获取设备名称和 App 版本