2012-02-17 155 views
2

我有以下信息的批處理文件:詹金斯 - TestNG的問題

java org.testng.TestNG test.xml 

其中的test.xml是TestNG的套件XML。現在,當我運行批處理文件(Runme.bat)時,測試腳本被觸發並正常工作。我想要做的就是從jenkins中激發這個批處理文件。當我像詹金斯將其添加爲構建任務到項目:

cmd /k "C:\Runme.bat"

運行的版本不會觸發TestNG的套件,而不是提供了以下錯誤:

java.lang.NoClassDefFoundError: org/testng/TestNG Caused by: 
java.lang.ClassNotFoundException: org.testng.TestNG  at 
java.net.URLClassLoader$1.run(Unknown Source) at 
java.security.AccessController.doPrivileged(Native Method) at 
java.net.URLClassLoader.findClass(Unknown Source) at 
java.lang.ClassLoader.loadClass(Unknown Source)  at 
sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at 
java.lang.ClassLoader.loadClass(Unknown Source) Could not find the 
main class: org.testng.TestNG. Program will exit. Exception in thread "main" 
C:\Documents and Settings\GopalakA\Desktop\AutomationAnand\ABC_JSAF> C:\Program Files\Jenkins\jobs\Test\workspace>exit 0 

即使類路徑設置正確,因爲我可以通過手動運行bat文件來觸發套件。 有什麼幫助嗎?

回答

0

轉到Jenkins系統信息(http://[jenkins_server]/systemInfo)並檢查確實CLASSPATH變量設置正確。

+0

我檢查了系統的系統信息,它不更新到當前的classpath。我如何修改它? – andyrocks369 2012-02-20 01:02:42

+0

確保1)您在檢查Classpath的同一臺機器上運行Jenkins; 2)Jenkins運行的用戶的環境變量設置正確。你也可以通過Jenkins配置('http:// [jenkins_server]/configure' - >全局屬性 - >檢查環境變量 - >設置Classpath變量)來完成。 – 2012-02-20 04:41:31

+0

謝謝你的幫助scot。現在它說:[TestNG] [錯誤] 在classpath中找不到類: andyrocks369 2012-02-21 23:21:31

0

有兩個步驟來完成這個任務: -

第1步: -

  1. 進入到localhost:8080 /配置(詹金斯配置部分)現在

  2. 去JDK部分,並取消選中自動安裝(如果您沒有取消選中,那麼每次可用時都會下載最新的java,並且可能導致構建失敗)

  3. 放JAVA_HOME在名稱部和JDK主路徑中JAVA_HOME部

enter image description here

  • 應用並保存
  • 步驟2: -

    1. 轉到詹金斯並添加新的項目,也選擇「自由風格項目」和cli好的。「高級 「高級項目選項

    2. 點擊」

    3. 現在檢查選項: - 「使用自定義的工作空間」,並在目錄部分指定項目的絕對路徑

    enter image description here

    1. Apply

    2. 現在去「構建」,然後選擇「執行Windows批處理命令」

    3. 在這裏,在命令列給你的批處理文件的文件名 enter image description here
    4. 應用和保存

    現在去Jenkins並選擇你的Jenkins項目並點擊Build :)

    0

    根據你想如何實現在Jenkins中運行TestNG測試的目標,你還應該考慮通過maven運行測試。如果您的項目可以通過'mvn test'命令運行測試,那麼您可以使用Build with goal set'test'。

    Invoke Maven 3 
        Goals and options = test 
    

    您還可以測試報告通過安全可靠的插件集成的很好的好處,如果你設置

    test report XMLs = target/surefire-reports/*.xml