你能更新你的cypress.dev.config.ts文件来在运行Jenkins管道时排除某些测试吗?

fkaflof6  于 2023-10-17  发布在  Jenkins
关注(0)|答案(1)|浏览(121)

我有一个应用程序,运行赛普拉斯e2 e测试。大多数测试都非常稳定-只要我在本地运行它们。当我通过Jenkins管道部署到开发环境中运行它们时,它们的稳定性和不一致性要差得多。
我想在运行Jenkins管道时排除其中的一些,同时仍然运行其他管道。
有没有一种方法可以更新我的cypress.dev.config.ts文件,使它在Jenkins管道中运行时排除某些测试?
到目前为止,这是我的cypress.dev.config.ts文件的精简版本。谢谢.

import { defineConfig } from "cypress";

export default defineConfig({
  defaultCommandTimeout: 60000,
  execTimeout: 60000,
  pageLoadTimeout: 120000,
  taskTimeout: 60000,
  requestTimeout: 120000,
  responseTimeout: 120000,
  viewportWidth: 1600,
  viewportHeight: 1100,
  e2e: {
    env: {
      loginUrl: '',
      loginOrigin: ''
    }
  },
  reporter: 'junit',
  reporterOptions: {
    mochaFile: 'results/cypress-report-[hash].xml',
    jenkinsMode: true
  }

});

vhmi4jdf

vhmi4jdf1#

我假设cypress.dev.config.ts正在履行cypress.config.ts的角色,并且它用于Jenkins运行和cypress open运行。
您可以在Jenkins下运行时设置CYPRESS_jenkins env var,然后使用此代码更改excludeSpecPattern配置
用于忽略测试文件的Glob模式的String或Array

import { defineConfig } from 'cypress'

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      if (config.env.jenkins) {
        config.excludeSpecPattern = [
          'do-not-run-me-in-jenkins.cy.ts',
        ]
      }
      return config
    },
  },

})

相关问题