java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver错误的webdriver采用了android [英] java.lang.NoClassDefFoundError: org.openqa.selenium.android.AndroidWebDriver error in WebDriver using android

查看:477
本文介绍了java.lang.NoClassDefFoundError的:org.openqa.selenium.android.AndroidWebDriver错误的webdriver采用了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();
        }
        公共无效testSDKdem​​o 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文件仅低于的Andr​​oid 4.X及以上的Andr​​oid
  相关性(或)地方将其放置在上面的顺序。


  
  

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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆