天天看點

Cypress web自動化15-Hooks使用方法

前言

Cypress 提供了 hooks 函數,友善我們在組織測試用例的時候,設定用例的前置操作和後置清理。

類似于 python 的 unittest 裡面的 setUp 和 setUpclass 功能

Hooks

Cypress 提供了 hooks 函數。

這些有助于設定要在一組測試之前或每個測試之前運作的條件。它們也有助于在一組測試之後或每次測試之後清理條件。

describe('Hooks', () => {
  before(() => {
    // runs once before all tests in the block
  })

  after(() => {
    // runs once after all tests in the block
  })

  beforeEach(() => {
    // runs before each test in the block
  })

  afterEach(() => {
    // runs after each test in the block
  })
})      
  • before()鈎子運作(一次)
  • beforeEach() 每個測試用例前都會運作
  • it 運作測試用例
  • afterEach() 每個測試用例之後都會運作
  • after() 鈎子運作(一次)

執行案例

/**
 * Created by dell on 2020/5/13.
 * hook_demo.js
 * 作者:上海-悠悠 QQ交流群:939110556
 */


describe('Hooks', () => {
  before(() => {
      // runs once before all tests in the block
      cy.log("所有的用例之前隻執行一次,測試準備工作")
  })
  after(() => {
      // runs once after all tests in the block
      cy.log("所有的用例之後隻執行一次")
  })
  beforeEach(() => {
      // runs before each test in the block
      cy.log("每個用例之前都會執行")
  })
  afterEach(() => {
      // runs after each test in the block
      cy.log("每個用例之後都會執行")
  })
  it('test case 1', () => {
      cy.log("test case 1")
      expect(true).to.eq(true)
  })
  it('test case 2', () => {
      cy.log("test case 2")
      expect(true).to.eq(true)
  })
})      

繼續閱讀