Cypress:如何使用 "cy.expect()" 断言

· 约 5 分钟读完

简介

Cypress 是一个现代化的前端端到端测试框架,它提供了丰富的 API,让我们可以轻松地编写自动化测试用例。其中,断言是测试用例中的重要组成部分,Cypress 提供了 cy.expect() 方法来进行断言。本文将详细介绍 cy.expect() 的使用方法。

cy.expect() 方法

cy.expect() 是 Cypress 中的一个断言方法,用于判断测试结果是否符合预期。它可以接收一个参数,即我们需要进行判断的值,然后根据我们传入的参数进行判断。如果判断成功,测试用例将继续执行,如果判断失败,测试用例将失败并输出错误信息。

cy.expect() 的常用断言

下面是 cy.expect() 常用的断言方法:

cy.expect().to

to 方法用于判断目标值是否等于预期值。如果相等,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 cy.url() 获取当前页面的 URL,并使用 should() 方法判断 URL 是否等于预期值。

cy.expect().not

not 方法用于判断目标值是否不等于预期值。如果不等,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 should('not.eq') 方法判断 URL 是否不等于预期值。

cy.expect().contain

contain 方法用于判断目标值是否包含预期值。如果包含,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 should('contain') 方法判断页面中是否包含欢迎语句。

cy.expect().not.contain

not.contain 方法用于判断目标值是否不包含预期值。如果不包含,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 should('not.contain') 方法判断页面中是否不包含欢迎语句。

cy.expect().be

be 方法用于判断目标值是否等于预期值,并且类型也相同。如果相等,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 should('be') 方法判断页面中当前用户是否为 admin。

cy.expect().not.be

not.be 方法用于判断目标值是否不等于预期值,或者类型不同。如果不等,则测试用例继续执行,否则测试用例失败。

上面的例子中,我们使用 should('not.be') 方法判断页面中当前用户是否不为 guest。

示例代码

下面是一个完整的示例代码,演示了如何使用 cy.expect() 进行断言:

上面的代码中,我们编写了两个测试用例,分别测试了登录成功和登录失败的情况,使用了 cy.expect() 进行断言。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d8d8a7a941bf7134f79264