如何解决java.lang.NoClassDefFoundError?硒

时间:2018-02-19 21:44:08

标签: java selenium selenium-webdriver noclassdeffounderror selenium-firefoxdriver

为什么这段代码不起作用?

a=[];
for i=query_array'
a=[a;i,find(master_array==i)];
end
a=sortrows(a,2);
order_array=a(:,1);

错误堆栈跟踪:

import org.junit.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class MainTest {

private WebDriver wd;
private String urll;



@Before
public void openGoogle()
{
    wd = new FirefoxDriver();
    urll = "https://google.com";
}

@Test
public void firstTest()
{
    wd.get(urll);
}

@After
public void closeBrow()
{
    wd.quit();
}
}

1 个答案:

答案 0 :(得分:0)

错误说明了一切:

java.lang.NoClassDefFoundError: com/google/common/base/Function
at MainTest.openGoogle(MainTest.java:15)

使用 Selenium v​​3.x 时,您必须从mozilla/geckodriver下载 geckodriver.exe 并将其放入您的系统中。接下来,您必须通过行System.setProperty()设置系统属性,如下所示,并提供系统中 GeckoDriver 二进制文件的绝对路径,如下所示:

@Before
public void openGoogle()
{
    System.setProperty("webdriver.gecko.driver", "C:\\path\\to\\geckodriver.exe");
    wd = new FirefoxDriver();
    urll = "https://google.com";
}

最后,根据最佳实践提及import org.junit.*;而不是提及不同的出口如下:

  • import org.junit.Before;
  • import org.junit.Test;
  • import org.junit.After;

您可以在此处找到有关NoClassDefFoundError

的详细讨论