【问题标题】:Appium error with testdroid: java.lang.NoClassDefFoundError: org/openqa/selenium/internal/HasIdentity与 testdroid 的 Appium 错误:java.lang.NoClassDefFoundError: org/openqa/selenium/internal/HasIdentity
【发布时间】:2015-08-03 14:17:43
【问题描述】:

以下代码在本地与 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 Log 中,我可以看到 Apppium 版本是 1.4.3:“info: Welcome to Appium v​​1.4.3”。所以,我上面的代码应该可以工作。

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

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

在(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 版本是最新的,我的代码应该可以运行。

谁能帮帮我。

【问题讨论】:

    标签: java selenium appium testdroid


    【解决方案1】:

    由于 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>
    

    【讨论】:

    • 我在 java.lang.NoClassDefFoundError: org/openqa/selenium/internal/HasIdentity 中遇到了类似的错误,但我什至在我的 pom 中都没有这个依赖项,所以没有什么可以删除的......仅供参考
    猜你喜欢
    • 2021-12-12
    • 2018-03-21
    • 1970-01-01
    • 2016-08-10
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    相关资源
    最近更新 更多