English 中文(简体)
Cypress - Asynchronous Behavior
  • 时间:2024-03-24 11:07:21

Cypress - Asynchronous Behavior

Previous Page Next Page  

风暴源于基于 Java本的诺季。 气压指令的性质是同步的,因为它们依靠的是 no器。 同步流动意味着测试步骤并不取决于其先前的执行步骤。

没有依赖性,每个步骤都是作为独立身份实施的。 尽管测试步骤是按顺序安排的,但个别测试步骤并不考虑先前步骤的结果,只是执行。

下面是热带风暴中同步行为的例子:


// test suite
describe( Tutorialspoint , function () {
   it( Scenario 1 , function (){
      // test step to launch a URL
      cy.visit("https://accounts.google.com")
      // identify element
      cy.get( h1#headingText ).find( span ).should( have.text ,  Sign in )
      cy.get( h1#headingText ).find( span ).then(function(e){
         const t = e.text()
         // get in Console
         console.log(t)
      })
      // Console message
      console.log("Tutorialspoint-Cypress")
   })
})

产出如下:

Asynchronous Behavior in Cypress

Promise

测验Runner和点击Inspect,我们可以核实科索尔的成果。 这里,Tutorialspoint-Cypress(较早的一步)在Sign - in之前就登在康索尔。 (后加一步)。

气压指令的设计方式是,每一步骤都按顺序执行,而不是同时启动。 但是,它们相互背后。 因此,这种流动是同步的。 这样做是明智的。

在上述例子中,console.log是一份纯 Java本声明。 它没有能力与Cypress指挥部相近并等待。 明智之举使我们得以以序列方式执行气旋风暴指挥。

Modes in Promise

通知有三种方式,可以归类指挥执行状态。 它们是:

    如果试验步骤成功实施,就会产生这一结果。

    如果正在等待试验步骤的结果,这就是结果。

    如果试验步骤失败,结果就是这样。

只有在成功执行先前的步骤或获得解决的承诺反应的情况下,热带风暴指挥部才得以执行。 之后,该方法被用于在Cypress实施Promise。

下面是“Cypress”中的“Promise”的例子。


describe( Tutorialspoint Test , function () {
   it( Promise , function (){
      return cy.visit( https://accounts.google.com )
      .then(() => {
         return cy.get( h1#heading );
      })
   })
})

用于Promise的气旋风暴的安装速度不明显。 因此,它有助于制定一部更严格的法典。 而且,我们不必在使测试自动化时考虑是否明智。

Implementation without Promise

指挥后解释了如何在没有“旋风”承诺的情况下执行。


describe( Tutorialspoint Test , function () {
   it( Without Promise , function (){
      cy.visit( https://accounts.google.com )
      cy.get( h1#heading )
   })
})
Advertisements