2017-12-14 3 views
0

내가 만든 Java GUI 테스트 베드에서 Selenium WebDriver와 testNG를 사용하여 병렬 테스트를 실행하려고합니다. 테스트 베드는 testNG 환경과는 별도의 클래스에 있습니다. XML 파일에서 병렬 테스트를 실행하면 테스트가 정상적으로 실행됩니다. GUI를 실행하고 XML 파일을 호출하도록 지정된 버튼을 클릭하면 AWT-EventQueue-0 "java.lang.NoClassDefFoundError : org/testng/TestNG"스레드에서 예외가 발생합니다. 내가 조사한 대답을 바탕으로, 이것이 클래스 경로 문제인 것으로 보인다. 모든 필요한 testNG jar 파일이 빌드 경로에 있는지 확인했습니다.다른 클래스의 Actionperformed/jbutton에서 testng.xml 파일을 호출 할 때 NoClassDefFoundError를 해결하는 방법은 무엇입니까?

xml 파일을 실행해야하는 jbutton에 대해 actionperformed 인 코드입니다.

public static void runXML() { 
    // Create object of TestNG Class 
    TestNG runner=new TestNG(); 

    // Create a list of String 
    List<String> suitefiles=new ArrayList<String>(); 

    // Add xml file which you have to execute 
    suitefiles.add("C:\\Users\\AFSW-NE\\git\\AfsTestBed\\testng.xml"); 

    // now set xml file for execution 
    runner.setTestSuites(suitefiles); 

    // finally execute the runner using run method 
    runner.run(); 

버튼을 누를 때 호출되는 메소드입니다. 디버깅 할 때 runXML() 메서드가 문제인 것처럼 보입니다. 그것은 runXML()이 ClassNotFoundException "org.testng.TestNG"인 원인으로 NoClassDefFoundError를 던졌습니다. 그래서 나는 그것이 클래스 경로와 함께 있어야한다고 생각하지만, 나는 무엇이 확실하지 않습니다. pom 파일의 종속성이 있으며 항아리도 있습니다.

답변

0

NoClassDefFoundError는 클래스 경로에 클래스가없는 경우에만 발생합니다. 이클립스에서는 빌드 경로에 라이브러리 탭이있어서 jar 파일이 추가되었는지 확인한 다음 빌드 확인을 취소합니다. 자동으로 선택한 다음 다시 선택하십시오. 그런 다음 똑같은 문제에 직면하고 누군가 나에게 그것을 제안하고 효과를 보았습니다. 시도해보고 작동하는지 확인하십시오. 도움이되기를 바랍니다.

+0

시도했지만 작동하지 않았습니다. 나는 그것이 단지 일식 오류라고 생각한다. IntelliJ를 설치하고 프로젝트를 가져 오면 잘 돌아갔습니다. 그래서 식의 어떤 종류의 통신 오류. – wolfschoolwitcher

관련 문제