如果测试用例通过,如何指示 cypress 执行某些操作?

Posted

技术标签:

【中文标题】如果测试用例通过,如何指示 cypress 执行某些操作?【英文标题】:How to instruct cypress to do some actions if the testcase is passed? 【发布时间】:2021-12-13 06:04:40 【问题描述】:

我尝试使用 aftereach() 但它会执行测试用例通过或失败。我需要知道我应该使用的上下文,例如条件还是什么? 例如:

describe('TestSuite', function()

 it('THIS TEST CASE PASSED', function()

)

it('THIS TEST CASE FAILED', function()

)

)

我需要把它变成这样。如果通过了测试用例,请执行操作 ... ... ... 如果测试用例失败,请执行操作 ... ... ...

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

您没有提供太多关于您的代码的信息,所以我会建议一个可能不适合您的解决方案。如果断言在前一个测试中失败,我将使用一个设置为“失败”的变量,并使用它来确定第二个测试中的操作,例如

describe('check if first test passed or failed then do A or B', () => 
    let result

    it('test 1', () => 
        cy.request(url: Cypress.env('url')).its('status').then((status) => 
            if (status === 500) 
                result = 'fail'
            
        )
    )

        it('test 2', () => 
            if (result === 'fail') 
                cy.log('Previous test failed, so I did Action A')
                Code Action A
            
            else
            
                cy.log('Previous test passed, so I did Action B')
                Code Action B
            

        )
)

【讨论】:

以上是关于如果测试用例通过,如何指示 cypress 执行某些操作?的主要内容,如果未能解决你的问题,请参考以下文章

Cypress系列- Cypress 编写和组织测试用例篇 之 .skip() 和 .only() 的详细使用

如果第二次测试失败,cypress 将停止执行,但我需要继续运行其他测试?在赛普拉斯

Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

Cypress系列(12)- Cypress 编写和组织测试用例篇 之 断言

Cypress系列- Cypress 编写和组织测试用例篇 之 Mocha的介绍

Cypress系列- Cypress 编写和组织测试用例篇 之 Mocha的介绍