2012-07-19 5 views
0

저는 기본적인 셀레늄 테스트를 실행하려고하고 있습니다. 특별한 것은 없으며 단지 효과가 있는지 확인해야합니다. BUT는 예외를 throw합니다. 무엇이 잘못 될 수 있습니까? java -jar selenium-server-standalone-2.24.1.jarSelenium WebDriver를 사용한 간단한 테스트 설정이 실패했습니다.

import static org.junit.Assert.fail; 

import java.util.concurrent.TimeUnit; 

import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.NoSuchElementException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class Selenium { 
    private WebDriver driver; 
    private String baseUrl; 
    private StringBuffer verificationErrors = new StringBuffer(); 

    @Before 
    public void setUp() throws Exception { 
     driver = new FirefoxDriver(); 
     baseUrl = "http://www.google.de/"; 
     driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
    } 

    @Test 
    public void testSeleniumWeb() throws Exception { 
    //empty just for testing 
    } 
} 

예외 : : 물론

나는 사용하여 서버를 시작

java.lang.AbstractMethodError: org.apache.crimson.tree.ElementNode2.getTextContent()Ljava/lang/String; 
    at org.openqa.selenium.firefox.internal.FileExtension.readIdFromInstallRdf(FileExtension.java:134) 
    at org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:61) 
    at org.openqa.selenium.firefox.internal.ClasspathExtension.writeTo(ClasspathExtension.java:64) 
    at org.openqa.selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:547) 
    at org.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:525) 
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:74) 
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:149) 
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:78) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:128) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:79) 
    at de.coconet.soapui.selenium.setUp(selenium.java:15) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) 
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) 
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
+0

getTextContent() 메소드를 지원하지 않는 오래된 XML 구문 분석기 (Apache Crimson)를 찾은 것 같습니다. –

답변

3

그것은 당신의 코드와는 아무 상관 없습니다. 클래스 경로에 문제가 있습니다. 일부 클래스는 클래스 경로에서 처음 발견 된 ElementNode2와 다른 버전을 사용합니다.

jarfinder을 보면 JDK 1.4 이후에이 클래스가 Java 런타임 (rt.jar)에 포함되어 있음을 알 수 있습니다.

WebDriver가 컴파일 된 것보다 이전 버전의 JDK를 사용하고있는 것으로 의심됩니다. WebDriver에는 JDK 1.6 이상이 필요합니다.

관련 문제