前言
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)
})
})