Jenkins中不存在引诱结果

brvekthn  于 2022-11-02  发布在  Jenkins
关注(0)|答案(3)|浏览(207)

生成了诱惑结果(xmls),并可通过在诱惑结果目录外运行诱惑服务进行查看,但当在Jenkins中使用带有Jenkins工作区相对路径的诱惑结果目录进行配置时,无法找到诱惑结果。
[诱惑测试] $ /用户/我/.jenkins/工具/ru.yandex.qatools.诱惑.jenkins.工具. Allure命令行安装/Allure_2.7.0/bin/诱惑生成-c -o /用户/我/.jenkins/工作区/诱惑测试/诱惑报告诱惑结果不存在报告已成功生成到/用户/我/.jenkins/工作区/诱惑测试/诱惑报告已成功生成诱惑报告。
为诱惑报告定义的相对路径为
../../回购协议/合作伙伴门户/目标/吸引结果
已生成报告,但没有结果

d4so4syb

d4so4syb1#

解决方案如下:

1.在您的工作空间(对我来说是D:\m\Automation Project\Tests)中,创建一个名为“target”的文件夹,其中包含两个子文件夹“allure-results”和“allure-reports”。
1.在Jenkins项目的构建后措施中提供了这些条目。

  • 结果:* 目标/诱惑-结果
  • 报告路径:* 目标/吸引-报告

x1c 0d1x现在运行您的测试,将生成诱惑报告,没有任何问题。

oxcyiej7

oxcyiej72#

就因为这个问题,我挣扎了24个多小时,整晚都睡不着觉,没有明确的说明,最后我想明白了。
也许现在回答这个问题有点太晚了,但是你能在你的工作区中创建一个“诱惑结果”文件夹吗(比如/Users/me/.jenkins/workspace/allure_test/allure-results)?
在jenkins中配置了Allure报告后,使用behavior命令,我终于看到了以下输出,并在我的jenkins构建计划中看到了工作报告:

.
.
.
.
D:\PythonProject\PythonBehave>behave -f allure_behave.formatter:AllureFormatter -o C:\Users\Alex\.jenkins\workspace\PythonAllure\allure-results D:\PythonProject\PythonBehave\features 

Failing scenarios:
  features/example.feature:17  user can search text in google -- @2.2 Incorrect
  features/github_login.feature:13  User attempt to login with wrong username and password -- @1.1 InCorrect
  features/github_login.feature:14  User attempt to login with wrong username and password -- @1.2 InCorrect
  features/github_login.feature:18  User attempt to login with correct username and password

0 features passed, 2 failed, 0 skipped
3 scenarios passed, 4 failed, 0 skipped
12 steps passed, 4 failed, 8 skipped, 0 undefined
Took 3m24.651s

D:\PythonProject\PythonBehave>exit 1 
Build step 'Custom Python Builder' marked build as failure
[PythonAllure] $ C:\Users\Alex\.jenkins\tools\ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation\Allure_2.13.1\bin\allure.bat generate C:\Users\Alex\.jenkins\workspace\PythonAllure\allure-results -c -o C:\Users\Alex\.jenkins\workspace\PythonAllure\allure-report
Report successfully generated to C:\Users\Alex\.jenkins\workspace\PythonAllure\allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.
Finished: FAILURE

在我的工作区中没有诱惑结果文件夹时,我经常会得到这样的输出:

[PythonAllure] $ C:\Users\Alex\.jenkins\tools\ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation\Allure_2.13.1\bin\allure.bat generate -c -o C:\Users\Alex\.jenkins\workspace\PythonAllure\allure-report
yb3bgrhw

yb3bgrhw3#

我们没有在UI上使用任何构建后步骤,而是使用jenkins pipeline groovy脚本,如下所示:

def allureReportsGenerationTask() {
try {
allure([includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: 'target/allure-results']]])
} catch(Exception error) {
println("Caught Exception: ${error}")
}
}

项目结构是这样的

ProjectRepo
       - src
       - target
         -alure-results 
       - pom.xml 
       - testng.xml

在这种情况下,我们得到的诱惑结果得到生成,但它没有得到挑选的Jenkins管道诱惑插件。

/opt/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate -c -o /opt/jenkins/workspace/ProjectRepoPipeline/allure-report

您可以看到,Jenkins无法在上述Jenkins管道命令中找到用于生成参数的吸引结果
我们在pom.xml maven-surefire-plugin中添加了以下参数

<systemPropertyVariables>
    <allure.results.directory>../target/allure-results</allure.results.directory>
     </systemPropertyVariables>

现在项目结构变成

  • 项目信息库-源代码- pom.xml -测试信息库. xml
  • 目标-诱惑-结果

现在,在运行相同的via pipeline脚本时,我们可以运行以下命令

/opt/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate /opt/jenkins/workspace/ProjectRepoPipeline/target/allure-results -c -o /opt/jenkins/workspace/ProjectRepoPipeline/allure-report

ProjectRepoPipeline -这是运行CI/CD的Jenkins管道名称

相关问题