我在我公司的Jenkins中使用我的testNG套件时遇到了麻烦。这是设置:
-Jenkins安装在Linux机器上,所以我必须创建一个.sh来启动我的测试。
- 我在Windows下用Java编写我的测试代码。
- 我必须在我的项目中使用相对路径。
- 我使用我的文件blex_test_v1.xml来启动测试。
我写了一个批处理脚本,它运行正常没有问题:
我现在尝试将其“转换”为.sh,这就是我现在所拥有的:
问题是我总是遇到这个错误:
StackOverflow上有大约6或7个关于这个问题的帖子,我已经阅读了所有这些帖子,尝试更改我的代码,重写它,我甚至卸载所有.jar文件并在我的lib中重新安装它们... Can看看问题来自哪里。
它不能来自插件,jar文件,主类(我没有),我的不同路径或org.testng.TestNG因为我的.bat正在使用相同的元或者它bash脚本有什么不同?
目前我还没有使用Jenkins,我首先尝试制作一个可运行的脚本,而且我已经被困在这里......我做错了什么?
谢谢!
PS:这是我项目的架构(钦佩我的艺术家技能):
编辑:我不使用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
注意:*使代码看起来像是注释但不是
答案 0 :(得分:0)
几天之后,我终于解决了这个问题,方法是在我的Java项目中调用XML文件,然后创建一个项目的可执行jar,最后创建一个调用这个jar的bash脚本。
我的.sh的代码在这里(非常简单):
java -jar Exec.jar