使用Java Selenium Firefox geckodriver时出现问题。这是问题所在:
OS:Windows 7
selenium ersion:Selenium 3.0.0 beta4
Java:8
Geckodriver:v0.10.0
Error msg: Exception in thread “main” java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/CircularOutputStream at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:56) at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:52) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92) at tools.Cadencie.LoginCad(Cadencie.java:24) at tools.Cadencie.main(Cadencie.java:73) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.internal.CircularOutputStream at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 10 more
码:
public class Cadencie { static WebDriver driver; public void LoginCad(){ //System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); System.setProperty("webdriver.gecko.driver", "C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe"); driver = new FirefoxDriver(); driver.get("http://172.16.1.133:8090/CADENCIE/servlet/app"); try { Thread.sleep(1000); } catch(InterruptedException e){ e.printStackTrace(); } Utilities.switchToWindow("Cadencie - User Logon [LOGON]", driver); try{ Thread.sleep(2000); } catch(InterruptedException e){ e.printStackTrace(); } driver.findElement(By.id("idBANK")).clear(); driver.findElement(By.id("idBANK")).sendKeys("48"); driver.findElement(By.id("idEMPLOYEE")).clear(); driver.findElement(By.id("idEMPLOYEE")).sendKeys("200003"); driver.findElement(By.id("idPASSWORD")).clear(); driver.findElement(By.id("idPASSWORD")).sendKeys("Cadencie1"); driver.findElement(By.id("maintLOGON")).click(); driver.findElement(By.id("idPASSWORD")).clear(); driver.findElement(By.id("idPASSWORD")).sendKeys("Cadencie1"); driver.findElement(By.id("maint")).click(); }
我认为这可能是版本不一致的问题。因为我有另一个正在使用maven的自动化项目,所以selenium2.52.0 ..但不确定是否会引起问题。我这次不使用Maven。只需尝试创建JAVA GUI程序(工具包)。
发生异常是因为缺少的jar文件classpath。
classpath
如果您不使用Maven,请检查“ 在MVN存储库中的编译依赖项”页面,然后将jar手动添加到您的类路径中。
如果您使用的是Maven,请参见:java.lang.classnotfoundexception:org.openqa.selenium.io.Circular OutputStream