在上一篇文章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学习过程中写的文章,大家可以分享出去,一起学习,每一篇文章总结都是认真学习官方文档的结果和记录。