Cypress 中的断言方式详解及实例教程

阅读时长 6 分钟读完

Cypress 是一个流行的前端自动化测试框架,它提供了强大的断言方式来帮助我们验证页面的正确性。在本文中,我们将详细介绍 Cypress 中的断言方式,并提供实例教程,帮助您更好地掌握这些技巧。

什么是断言?

在软件测试中,断言是一种用于验证预期结果和实际结果是否一致的技术。在 Cypress 中,我们可以使用断言来验证页面的各种属性和状态,例如元素的文本、属性、样式等等。

Cypress 中的断言方式

Cypress 提供了多种断言方式,包括 expectshouldassert 等等。下面我们将逐一介绍这些方式,并提供实例教程。

expect

expect 是 Cypress 中最常用的断言方式,它可以验证一个值是否等于另一个值,或者是否满足某个条件。下面是一个例子:

在上面的例子中,我们使用 cy.title() 获取页面的标题,然后使用 should 断言,验证标题是否等于 Example Domain。如果标题不匹配,测试将失败。

除了 eqexpect 还支持其他的比较操作符,例如 notcontainmatch 等等。下面是一些例子:

-- -------------------- ---- -------
---------- --- ---- -- ----- --------- -- -- -
  --------------------------------------------
--

---------- ------- --- ------- ------ -- -- -
  ----------------------------------- ----------
--

---------- ----- - ------- ------------ -- -- -
  ----------------------------------- -----------
--

在上面的例子中,我们使用了 not.existcontainmatch 等操作符来验证元素是否不存在、包含某个文本、匹配某个正则表达式等等。

should

should 是另一种常用的断言方式,它也可以验证一个值是否等于另一个值,或者是否满足某个条件。与 expect 不同的是,should 可以链式调用多个条件,例如:

在上面的例子中,我们使用 should 链式调用了两个条件,分别验证了页面的标题和 URL 是否正确。如果任何一个条件不满足,测试将失败。

assert

assert 是 Cypress 中的另一种断言方式,它与 expect 类似,可以验证一个值是否等于另一个值,或者是否满足某个条件。与 expect 不同的是,assert 是一个函数,需要将断言语句作为参数传递进去。下面是一个例子:

在上面的例子中,我们使用 assert.equal 断言页面的标题是否等于 Example Domain。如果标题不匹配,测试将失败。

除了 assert.equalassert 还支持其他的比较操作符,例如 assert.notEqualassert.ok 等等。

实例教程

下面是一个实例教程,演示如何使用 Cypress 中的断言方式来验证一个网站的登录功能。我们将使用 expectshould 两种断言方式,分别验证登录成功和登录失败的情况。

-- -------------------- ---- -------
----------------- -- -- -
  ------------- -- -
    -----------------------------------------
  --

  ---------- ----- ------------ ---- ------- ------------- -- -- -
    -----------------------------------
    ------------------------------------
    -------------------------------

    --------------------- ------------------------------------
    -------------------------------------------- --------- ---- ------
  --

  ---------- ---- -- ----- ---- --------- ------------- -- -- -
    -----------------------------------
    -----------------------------------------
    -------------------------------

    --------------------- --------------------------------
    ------------------------------------------ ---------- -------- -- -----------
  --
--

在上面的例子中,我们分别验证了登录成功和登录失败的情况。在登录成功的情况下,我们使用 should 验证了页面的 URL 和欢迎消息是否正确。在登录失败的情况下,我们使用 should 验证了页面的 URL 和错误消息是否正确。

总结

本文介绍了 Cypress 中的断言方式,并提供了实例教程,帮助您更好地掌握这些技巧。无论您是初学者还是有经验的开发者,都可以从中获得有价值的知识和指导。让我们一起使用 Cypress 来编写更好的前端自动化测试吧!

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

纠错
反馈