Cypress必须了解的异步和同步命令机制

2020-05-11 14:09:38 浏览数 (1)

在上一篇文章Cypress必须掌握的一些核心概念我们了解了Cypress与Selenium Webdriver之间的一些区别,Cypress稳定的、简洁的稳定处理机制,让我们在写测试代码时,省去了很多麻烦,更加专注测试。

在本文,我们进一步了解下Cypress的命令机制,以便进一步深入掌握、理解Cypress,为后续实践Cypress时,能更好的把握。

要理解Cypress命令在被调用时不做任何事情是非常重要的,Cypress会让命令先进行排队,以便稍后运行,这就是本文要重要分享的Cypress命令是异常的意思。

下面我们看一段代码,以便直观的了解、理解Cypress命令异步机制。

看完这面代码的注释,不知道大家是否理解了Cypress命令是异步的?

如果没理解,也没关系,只需要记住一点 cy.[command] 在上面的代码里,visit、get、click、url、should均是command, cy. 是异步执行的

Cypress框架,在加载我们的测试代码时,检测到cy对象,则会将cy.command的command加入到队列里,待所有的命令都按顺序加载完,后才执行。

这是可能有人要问了,如果我需要同步机制的命令怎么办?放心吧,Cypress充分考虑了这个问题,下面我们看一个异步和同步混合实例代码。

下面我们再看一个正确的示例。

上面要注意两点:

cy. 是异步的,命令不会马上执行,需要加入cy.队列进行排队,稍后执行

Cypress. 是同步的,命令立即执行

所以要确保Cypress. 命令包含在某种条件下,在cy.命令执行时,再进入Cypress.命令即可确保同步代码与异步代码的共存。

当然了,这个处理起来相对复杂,但只要大家理解了同步、异步的概念也是容易的。

这是第3篇Cypress学习过程中写的文章,大家可以分享出去,一起学习,每一篇文章总结都是认真学习官方文档的结果和记录。

0 人点赞