如何在Jenkins上为TestCafe测试创建通过阈值

如何解决如何在Jenkins上为TestCafe测试创建通过阈值

我们有testcafe.js UI测试,该测试在Jenkins环境中运行回归套件。

我们正在探索一种创建机制的方法,其中我们可以为测试套件设置一定的通过阈值,以使Jenkins的工作状态为通过/失败。

即如果98%以上的测试通过,则将测试作业标记为通过。

在XUnit项目下,可以使用XUnit测试插件等实现相同的功能。 参考示例:How can I have Jenkins fail a build only when the number of test failures changes?

How to fail a Jenkins job based on pass rate threshold of testng tests

How to not mark Jenkins job as FAILURE when pytest tests fail

通过testcafe定制/通过某些Jenkins插件,基于testcafe的测试是否可能类似?

我们的Jenkins文件

#!groovy

pipeline {
  environment {
    CI = 'true'
  }

  options {
    builddiscarder(logrotator(numToKeepStr: '50'))
    disableResume()
    ansiColor('xterm')
  }

  agent none

  // Define the stages of the pipeline:
  stages {
    stage('setup') {
      steps {
        script {
          cicd.setupBuild()
        }
      }
    }

    // Use the make target to run tests:
    stage('Tests') {
      agent any
      steps {
        script {
          cicd.withSecret(<keys>) {
            cicd.runMake("test")
          }
        }
      }
      post {
        cleanup {
          archiveArtifacts artifacts: "screenshots/**",allowEmptyArchive: true
        }
      }
    }
  }

  post {
    success {
      script { cicd.buildSuccess() }
    }

    failure {
      script {
        slackSend channel: "#<test-notifications-channel>",color: 'bad',message: "Regression tests Failed or unstable <${env.RUN_disPLAY_URL}|${env.JOB_NAME}>"
        cicd.buildFailure()
      }
    }
  }
}
enter code here

解决方法

TestCafe provides一堆指定的报告程序,它们以特殊格式生成报告。一旦生成,CI系统(或其中的插件)就可以分析报告并根据失败/通过的测试次数执行阈值检查。 TestCafe文档包括example with Jenkins integration。该示例中使用的Jenkins JUnit插件尚不支持设置阈值:issue。但是,除了使用Jenkins xUnit插件外,您可以尝试以类似的方式遵循指南中的步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?