下面的代码在本地使用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/ instance /HasIdentity
从其他成功运行Appium TestDroid的Appium日志中,我可以看到Apppium版本是1.4.3:"info:欢迎来到Appumv1.4.3“。所以,我上面的代码应该能用。
Testdroid的示例代码使用了非常老版本的Appium,并且成功地运行了:
private static AppiumDriver wd;
wd = new AppiumDriver(new URL(TESTDROID_SERVER+"/wd/hub"), capabilities);这使用了Appium Java客户端的非常旧的版本-1.7.0,而我的代码使用了3.1.0。我想使用这个新版本的Appium Java客户端来实现它的新特性。由于TestDroid Appium版本是最新的,所以我的代码应该可以工作。
有人能帮我一下吗。
发布于 2015-08-04 17:27:46
由于AppumJavaClientVersion1.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>https://stackoverflow.com/questions/31789679
复制相似问题