2016-10-12 5 views
2

У меня возникла проблема при использовании Java Selenium Firefox geckodriver. Вот проблема:Класс CircularOutputStream не найден Исключение при использовании Selenium с GeckoDriver от Mozilla

* OS: Windows 7

* Селен Версия: 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, selenium 2.52.0 .. Но не уверен, что это вызвало проблему. На этот раз я не использую maven. Просто попробуйте создать программу JAVA GUI (набор инструментов).

ответ

1

Исключение из-за отсутствия файлов jar в classpath.

Если вы не используете Maven, проверьте Compile Dependencies at MVN Repository page и вручную добавьте банки в свой путь к классу.

Если вы используете Maven, см: java.lang.classnotfoundexception: org.openqa.selenium.io.Circular OutputStream

+0

Привет Ravthiru, Спасибо за помощь. Не могли бы вы прояснить, какие бабки мне не хватает. Причина: я не нашел подсказки из IDE. –

+0

Завершите Зависимости компиляции в этом месте https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server/3.0.0-beta4 – ravthiru

+0

Большое спасибо. Задача решена. –