Continuous integration 在竹子上自动重复失败的柏树测试

Continuous integration 在竹子上自动重复失败的柏树测试,continuous-integration,automated-tests,bamboo,cypress,Continuous Integration,Automated Tests,Bamboo,Cypress,我们有一个CI系统,它运行逻辑划分的cypress测试的多个作业。Cypress是一个编写测试的好工具,但在某些情况下,与前端测试自动化一样,不可能使测试100%无缺陷。因此,它们可能在第一次运行时失败,但在重新运行时通过(反之亦然) 我们公司希望将软件的构建与cypress测试的结果联系起来,即,如果cypress测试作业失败,软件的构建也将失败 我的问题很简单,在竹子最终将cypress测试作业标记为失败之前,有没有办法自动重新运行失败的竹子测试 我知道这不是你要问的,但应该可以让你的Cyp

我们有一个CI系统,它运行逻辑划分的cypress测试的多个作业。Cypress是一个编写测试的好工具,但在某些情况下,与前端测试自动化一样,不可能使测试100%无缺陷。因此,它们可能在第一次运行时失败,但在重新运行时通过(反之亦然)

我们公司希望将软件的构建与cypress测试的结果联系起来,即,如果cypress测试作业失败,软件的构建也将失败


我的问题很简单,在竹子最终将cypress测试作业标记为失败之前,有没有办法自动重新运行失败的竹子测试

我知道这不是你要问的,但应该可以让你的Cypress测试在每次运行时100%工作(即非片状)。Cypress为此提供了一些功能,比如命令中的自动重试,但有时需要一些争论才能完美工作。我怀疑重试整个Cypress套件是否是您要寻找的答案。@eric99我不是要重试整个Cypress套件,而是只在套件中重复失败的Cypress测试,如果重复测试通过,这不会导致bamboo作业失败。另外,在cypress?@eric99中,在一个可预测的应用程序上,您正在谈论哪些自动重试命令,这可能是完全正确的。我正在测试的应用程序几乎完全是异步的,所以我不能依赖DOM,它定期轮询状态更新,而不是在本地处理。当我做某事时,我不会立即得到结果,也无法确定更新何时发生并被处理。我意识到这是一个特例,但我相信在一些特例中,Cypress关于完全非片状的想法并不总是奏效。我们使用竹子,所以我非常有兴趣看看这是否可行。@ITguy大多数(如果不是所有的话)Cypress命令将不断重试,直到它们按照配置中的定义超时为止。例如,如果您执行了一个
.get()
,但它要查找的元素不存在,它将在抛出错误之前继续尝试大约5秒的默认值。@JoshuaWade,这听起来不像是一个特殊的场景-几乎每个javascript应用程序都有一些异步组件。我被Cypress发现的时间是我选择从初始页面加载中出现的结构的时间,而我本应该选择异步加载的内容,例如使用
cy.contains('div.myClass','myAsyncContent',{timeout:10000})
等待10秒(如果可能,将提前成功)。