java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver错误的webdriver采用了android [英] java.lang.NoClassDefFoundError: org.openqa.selenium.android.AndroidWebDriver error in WebDriver using android
问题描述
我想使用的webdriver测试使用eclipse使用JUnit的模拟器网站。
但我总是得到:
java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver
在my.empty.project.test.SdkDemoTest.setUp(SdkDemoTest.java:22)
在android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
在android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
在android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
在android.app.Instrumentation $ InstrumentationThread.run(Instrumentation.java:1551)
在Java构建路径引用的库我说:
- android_webdriver_library.jar
- android_webdriver_library-srcs.jar
- 番石榴12.0.jar
- 硒-java的2.21.0.jar
- 硒服务器2.21.0.jar
- 硒服务器独立-2.0b2.jar
- 硒服务器独立-2.21.0.jar
在code如下。
是否有人有这样的问题,也许可以帮助解决这个问题?
先谢谢了。
包my.empty.project.test;
进口android.test.ActivityInstrumentationTestCase2;
进口org.openqa.selenium.By;
进口org.openqa.selenium.WebDriver;
进口org.openqa.selenium.WebElement;
进口org.openqa.selenium.android;
进口org.openqa.selenium.android.AndroidWebDriver;
进口my.empty.project.MyAndroidProjectActivity;
公共类SdkDemoTest扩展ActivityInstrumentationTestCase2< MyAndroidProjectActivity> {
私人司机的webdriver;
公共SdkDemoTest(){
超级(my.empty.project,MyAndroidProjectActivity.class);}
@覆盖
保护无效设置()抛出异常{
司机=新AndroidWebDriver(getActivity());
}
@覆盖
保护无效拆解(){
driver.quit();
}
公共无效testSDKdemo preP(){
driver.get(HTTP://sdkdemo$p$pp.playphone.pluto.vn.ua/);
WebElement元= driver.findElement(By.xpath(/ HTML /体/ IMG));
element.click();
元素= driver.findElement(By.xpath(\"/html/body/div[3]/div/div[9]/div[7]/div/div[2]/div/div[2]/div/div[2]\"));
}
}
我接受这个问题终于得到了解决这一点。
1)右键单击项目>构建路径>配置构建路径> Order和
导出
2)选择和放大器;勾选android_webdriver_library.jar
3)将jar文件仅低于的Android 4.X及以上的Android
相关性(或)地方将其放置在上面的顺序。
4)单击按钮,全选和确定。
块引用>转到项目>清洁;现在运行测试。
这仅适用于适用java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver错误
I'm trying to use Webdriver to test websites on emulator using eclipse with JUnit. but I'm always getting:
java.lang.NoClassDefFoundError: org.openqa.selenium.android.AndroidWebDriver at my.empty.project.test.SdkDemoTest.setUp(SdkDemoTest.java:22) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
In the Java build path Referenced libraries I've added:
- android_webdriver_library.jar
- android_webdriver_library-srcs.jar
- guava-12.0.jar
- selenium-java-2.21.0.jar
- selenium-server-2.21.0.jar
- selenium-server-standalone-2.0b2.jar
- selenium-server-standalone-2.21.0.jar
The code is below. Are someone has such problem and maybe could help to resolve it?
Thanks in advance.
package my.empty.project.test; import android.test.ActivityInstrumentationTestCase2; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.android; import org.openqa.selenium.android.AndroidWebDriver; import my.empty.project.MyAndroidProjectActivity; public class SdkDemoTest extends ActivityInstrumentationTestCase2<MyAndroidProjectActivity>{ private WebDriver driver; public SdkDemoTest() { super("my.empty.project", MyAndroidProjectActivity.class);} @Override protected void setUp() throws Exception { driver = new AndroidWebDriver(getActivity()); } @Override protected void tearDown() { driver.quit(); } public void testSDKdemoprep() { driver.get("http://sdkdemoprep.playphone.pluto.vn.ua/"); WebElement element = driver.findElement(By.xpath("/html/body/img")); element.click(); element = driver.findElement(By.xpath("/html/body/div[3]/div/div[9]/div[7]/div/div[2]/div/div[2]/div/div[2]")); } }
解决方案I undergo this problem and finally got a solution to this.
1) Right Click Project > Build Path > Configure Build Path > Order and Export
2) select & check "android_webdriver_library.jar"
3) Move the jar file just below "Android 4.X" and above "Android Dependencies" (or) place it somewhere in top order.
4) Click the button, "select all" and ok.
go to project > clean; now run the test.
This is applicable only for "java.lang.NoClassDefFoundError: org.openqa.selenium.android.AndroidWebDriver" error
这篇关于java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver错误的webdriver采用了android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!