即使通过 Jenkins 中止 运行 也会清除 tmp 文件夹的 TestNG 侦听器?

TestNG Listener that clears tmp folder even for an aborted run via Jenkins?

我将 Java Selenium WebDriver 与 TestNG 一起用于 运行我的测试。

我在最终测试中调用 driver.quit() 以确保删除在 /tmp/ 文件夹中创建的文件。

但是,如果中止 运行(通过 Jenkins),/tmp/ 文件夹中的内容不会被删除。

是否有 testng 侦听器或任何其他方法我可以确保 tmp 文件夹被清除,即使 运行 在 运行 中途中止?

如果问题是在 Jenkins 级别引入的(中止操作),我相信,使用 Jenkins 解决这个问题会更有效,而不是使用 TestNG Listener。

对于声明式管道

pipeline {
    agent any

    stages {
        ...
    }
    post {
        aborted {
            script {
              echo 'cleanup on abort'
              // this will clean workspace
              // cleanWs() 
              

              //or just delete 'tmp' directory
              dir ('tmp') {
                  deleteDir()
              }
            }
        }
    }
}

使用插件

https://plugins.jenkins.io/postbuild-task/

安装插件并设置 shell 执行作业的脚本

rm -rf tmp