如何在 Cypress 中实现钩子?


我们可以在 Cypress 中实现钩子。Cypress 钩子用于在每一个测试中/测试前后执行某些操作。一些常见的钩子有:

  • before –在 describe 块中执行任何测试前执行一次。

  • after –在 describe 块中执行所有测试后执行一次。

  • beforeEach –在 describe 块中执行每个 it 块前执行。

  • afterEach –在 describe 块中执行每个 it 块后执行。

示例

实现

describe('Tutorialspoint', function() {
   before(function() {

      // executes once prior all tests in it block
      cy.log("Before hook")
   })
   after(function() {

      // executes once post all tests in it block
      cy.log("After hook")
   })
   beforeEach(function() {

      // executes prior each test within it block
      cy.log("BeforeEach hook")
   })
   afterEach(function() {

      // executes post each test within it block
      cy.log("AfterEac hook")
      })
   it('First Test', function() {
      cy.log("First Test")
   })
   it('Second Test', function() {
      cy.log("Second Test")
   })
})

执行结果

输出日志显示,第一步执行的步骤是 BEFORE ALL。而且,最后执行的步骤是 AFTER ALL。这两个步骤只执行了一次。在 BEFORE EACH 中执行的步骤执行了两次(在每个 TEST BODY 前)。而且,在 AFTER EACH 中执行的步骤执行了两次(在每个 TEST BODY 后)。这两个 it 块按照实现顺序执行。

更新于: 2021-11-19

473 次浏览

开启你的 职业生涯

完成课程来获得认证

开始
广告