Jenkins TestNG插件无法从test-results.xml文件中获取结果

时间:2017-09-05 07:27:01

标签: jenkins testng

在我的项目工作区中,test-results.xml文件存在于target \ surefire-reports \ testng-results.xml目录中。但Jenkins无法读取XML文件并在控制台上给出了以下错误。

TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: **\target\surefire-reports\testng-results.xml
Did not find any matching files.

为了确保文件不会太旧,我检查了test-results.xml(和其他文件)是否属于最新的测试运行。 Jenkins服务器在Ubuntu 14.04 LTS上运行。

我正在以这种方式运行我的测试:我的项目根目录有一个run_tests.sh脚本,如下所示:

#!/bin/bash

if [ "$1" = "" ]; then
    echo "Please provide a valid suite XML file name."
else
    mvn clean
    mvn compile
    mvn clean test -Dsurefire.suiteXmlFiles="$1"
fi

我只是将套件XML文件名作为参数传递给Jenkins中的这个脚本(执行shell)。

请帮忙。

4 个答案:

答案 0 :(得分:1)

我找到了解决方案。

  1. 转到配置您的工作
  2. 在“常规”标签中,您可能会找到
    高级按钮,单击此
  3. 选中“使用自定义 工作区”,在此下您会看到“目录”文本框,在此复制 您的Selenium Workspace文件夹,例如我的是
    “ E:\ eclipse \ eclipse-workspace \ WebDriveTest \”
  4. 向下滚动页面 在构建后操作下,发布TestNG结果,TestNG XML 报告模式:这样给
    “ ** / target / surefire-reports / testng-results.xml”(在 相同的工作空间)。

希望这对您有帮助!。

答案 1 :(得分:0)

您应该使用/而不是\(因为您提到您的Jenkins在UNIX机器上运行)

答案 2 :(得分:0)

Krishnan,在测试用户Google Group中指出,这可能是我的Jenkins项目工作区的一个问题,而且它是一样的。

我更改了Jenkins项目中的默认工作区。

所以我在Jenkins项目工作区中添加了路径“$ HOME / myWorkspace / myProject /”,并在同一个Jenkins的TestNG设置中添加了“** / target / surefire-reports / testng-results.xml”项目,它的工作原理!

谢谢Krishan的帮助。

答案 3 :(得分:0)

请在另一篇文章here中查看我的回答,应该非常明确。

简而言之,它是由当前目录更改为默认的Jenkins工作区引起的,您需要在Job的配置中设置自定义工作区。