2012-02-17 91 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