从bash脚本启动TestNG套件

时间:2016-07-08 07:13:33

标签: java eclipse bash jenkins testng

我在我公司的Jenkins中使用我的testNG套件时遇到了麻烦。这是设置:

-Jenkins安装在Linux机器上,所以我必须创建一个.sh来启动我的测试。

- 我在Windows下用Java编写我的测试代码。

- 我必须在我的项目中使用相对路径。

- 我使用我的文件blex_test_v1.xml来启动测试。

我写了一个批处理脚本,它运行正常没有问题:

Run.bat

我现在尝试将其“转换”为.sh,这就是我现在所拥有的:

test.sh

问题是我总是遇到这个错误:

“错误无法找到或加载主类org.test.TestNG” Problem

StackOverflow上有大约6或7个关于这个问题的帖子,我已经阅读了所有这些帖子,尝试更改我的代码,重写它,我甚至卸载所有.jar文件并在我的lib中重新安装它们... Can看看问题来自哪里。

它不能来自插件,jar文件,主类(我没有),我的不同路径或org.testng.TestNG因为我的.bat正在使用相同的元或者它bash脚本有什么不同?

目前我还没有使用Jenkins,我首先尝试制作一个可运行的脚本,而且我已经被困在这里......我做错了什么?

谢谢!

PS:这是我项目的架构(钦佩我的艺术家技能):

Archi

编辑:我不使用maven,也不使用gradle,只使用带有testNG和reportNG插件的Eclipse中的Java

编辑2:我使用this回答让我的bash这个人说它工作正常,但它不适合我,即使我用./编码(仍然与上面相同的错误):

java -cp ./blex_test_v1/lib/*:./blex_test_v1/bin org.testng.TestNG ./blex_test_v1/blex_test_v1.xml
编辑3:我发现了另一个拼写错误,但仍然遇到了同样的错误:

export CLASSPATH=./blex_test_v1/lib/*:./blex_test_v1/bin;
java org.testng.TestNG blex_test_v1/blex_test_v1.xml

注意:*使代码看起来像是注释但不是

1 个答案:

答案 0 :(得分:0)

几天之后,我终于解决了这个问题,方法是在我的Java项目中调用XML文件,然后创建一个项目的可执行jar,最后创建一个调用这个jar的bash脚本。

我的.sh的代码在这里(非常简单):

java -jar Exec.jar