2012-10-11 4 views
0

일부 html로 테스트를 수행하기 위해 Selenium을 사용하고 있습니다. Eclipse에서 Java를 사용하고 Junit이 테스트를 실행했습니다. 그리고 모든 것이 잘되었습니다. 하지만 테스트를 컴파일/실행하기 위해 명령 줄 (javac/java in Dos 프롬프트)을 시작했을 때 문제가 발생했습니다. 이 자바 프로젝트의 경우 각 클래스가 자체 java 파일에 앉아있는 동안 각각 하나의 테스트를 나타내는 많은 클래스가 있습니다. 그리고이 모든 파일들은 "testSuite"라는 하나의 패키지/폴더 아래에 있습니다. 각 테스트 파일은 여러 개의 jar 파일을 가져옵니다. 그리고 그들은 또한 다른 클래스에서 글로벌 클래스를 가져옵니다 문제는 컴파일이 괜찮 았습니다. 하지만 나는 그것을 실행합니다. 나는 아래 내가 가진 것입니다, 다음 클래스를 실행하려고 다음 PolicyFilter.java을 컴파일 먼저 global.java을 컴파일 :Selenium 테스트 (java)를 명령 줄에서 실행할 수 없습니다.

Exception in thread "main" java.lang.NoClassDefFoundError: \testsuite\PolicyFilter (wrong name: testSuite/PolicyFilter) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(Unknown Source) 

답변

0

java -cp requiredClassfiles/folders/jars classToExecute을 사용하십시오.

Selenium RC Jar를 사용할 수 있으면서 java -jar selenium-server-standalone-<version-number>.jar 명령을 사용하여 시작했으면 좋겠다.

+0

안녕하세요, 예, 클래스 파일이있는 폴더에 들어가서 위의 형식을 사용하려했습니다. 하지만 그것은 "주 클래스 PolicyFilter를 찾거나로드 할 수 없습니다"라는 메시지를 표시합니다. –

+0

사용 된 명령 : C : \ "Program Files"\ Java \ jdk1.7.0_07 \ bin \ java -classpath "C : \ Users \ Charlie Zeng \ workspace \ HelloWorld \ src"; "C : \ Users \ Charlie Zeng \ Users \ Charlie Zeng \ Desktop \ pro \ jars \ junit-4.10.jar ";"C : \ Users \ Charlie Zeng \ Desktop \ pro C : \ Users \ Charlie Zeng \ Desktop \ pro \ jars \ selenium-java-2.24.1.jar ";"C : \ Users \ Charlie Zeng \ Desktop \ pro \ jars " \ selenium-java-2.24.1-srcs.jar ";"C : \ Users \ Charlie Zeng \ Desktop \ pro \ jars \ guava-13.0.1.jar "PolicyFilter 그러나 클래스 파일은 현재 폴더에 있습니다. –

+0

'PolicyFilter'에'main' 메소드가 생성 되었기를 바랍니다. 그렇지 않다면'SeleneseTestCase' 또는 JUnit'TestCase'에서 확장하고 있습니까? –

0

테스트에 주석 @Test를 넣었는지 확인하고 폴더 대상을 프로젝트 폴더에서 지우고 이클립스를 다시 시작하십시오. 희망 작품 :))

+0

고마워요.하지만 @Test는 실제로 클래스 바로 앞에있었습니다. 그리고 지금 내가 그것을 실행할 때 그것은 나에게 오류 메시지를주지 않았다. 그 대신에 나에게 주었다. Error : 메인 메소드가 testSuite.PolicyFilter 클래스에서 발견되지 않았다. 메인 메소드를 다음과 같이 정의 해 주자 : public static void main (String [] args) –

관련 문제