2017-12-14 9 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に対して実行されるコードです。

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()がNoClassDefFoundErrorを投げた原因はClassNotFoundException "org.testng.TestNG"です。だから私はそれがクラスパスと何かでなければならないと信じていますが、私は何がわかりません。 pomファイルの依存関係はそこにあり、jarファイルもそこにあります。

答えて

0

のNoClassDefFoundErrorがjarファイルを追加し、それがある場合は、ビルドをオフにした場合、その中に行って見て、クラスがクラスpath.Inの日食ではない場合にのみ、ビルドパスに、ライブラリのタブが起こります自動的に選択し、再度選択し直してください。それから、同じ問題に直面し、誰かが私にそれをするようにと提案し、それは働いた。それがうまくいくかどうか試してみてください。それが助けてくれるといいでしょう。

+0

私はそれを試みましたが、うまくいきませんでした。私はそれが単なる日食の誤りだと思う。 IntelliJをインストールしてプロジェクトをインポートしたところ、正常に動作しました。そのため、日食で何らかの通信エラーが発生します。 – wolfschoolwitcher

関連する問題