2012-10-11 103 views
0

我正在使用Selenium對某些html進行測試。我在Eclipse下使用java並運行Junit測試。一切都很好。但是當我開始使用命令行(在Dos提示符處的javac/java)編譯/運行測試時遇到了問題。 對於這個java項目,我有一堆類,每個類代表一個測試,而每個類都在它自己的java文件中。所有這些文件都在一個名爲「testSuite」的軟件包/文件夾下。每個測試文件都會導入一堆jar文件。他們還從另一個 導入全球班。問題,編譯是好的。但我讓它運行。我第一次編譯global.java然後編譯PolicyFilter.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 \ Desktop \ pro \ jars \ commons-net-3.1.jar「;」C:\ Users \ Charlie Zeng \ Desktop \ pro \ jars \ junit-4.10.jar「;」C:\ Users \ Charlie Zeng \ Desktop \ pro \ jars \ selenium-server.jar「;」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,清除項目文件夾中的文件夾目標,然後重新啓動eclipse。 希望它的工作:))

+0

謝謝,但@Test實際上位於課程之前。現在,當我運行它時,它沒有給我上面的錯誤信息,而是它給了我:錯誤:在類testSuite.PolicyFilter中找不到主要方法,請定義主要方法爲: public static void main(String []]參數) –