使用testdroid的Appium错误:java.lang.NoClassDefFoundError: org/ope



下面的代码适用于本地Appium客户端(版本:1.4.0.0),但不适用于TestDroid云:

private static AppiumDriver<MobileElement> driver;
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("testdroid_target", "Android");
capabilities.setCapability("deviceName", "Android Device");
capabilities.setCapability("testdroid_username", TESTDROID_USERNAME);
capabilities.setCapability("testdroid_password", TESTDROID_PASSWORD);
capabilities.setCapability("testdroid_project", "My Test Project");
capabilities.setCapability("testdroid_testrun", "AndroidDriver 1");
capabilities.setCapability("testdroid_device", "Nvidia Shield Tablet"); //Free  device
capabilities.setCapability("testdroid_app", fileUUID); 
driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

它无法创建上面的AppiumDriver实例,除了:java.lang.NoClassDefFoundError: org/openqa/selenium/internal/HasIdentity

从其他成功的Appium TestDroid运行的Appium日志中,我可以看到appiium版本是1.4.3:"info: Welcome to Appium v1.4.3"。所以,我上面的代码应该已经工作了。

Testdroid的示例代码使用了非常旧的Appium版本,并且运行成功:

private static AppiumDriver wd;
wd = new AppiumDriver(new URL(TESTDROID_SERVER+"/wd/hub"), capabilities);

in(https://github.com/bitbar/testdroid-samples/blob/master/appium/sample-scripts/java/src/test/java/com/testdroid/appium/android/sample/SampleAppiumTest.java)

这使用非常旧版本的Appium Java Client-1.7.0,而我的代码使用3.1.0。我想使用这个新版本的Appium Java客户端,因为它的新特性。由于TestDroid Appium版本是最新的,我的代码应该可以工作。

有谁能帮我一下吗

由于Appium Java客户机版本1.3.0依赖于Selenium 2.46.0,因此可以从pom.xml中删除以下行:

   <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>2.42.2</version>
        <scope>test</scope>
    </dependency>

相关内容

  • 没有找到相关文章

最新更新