如何在 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 块按照实现顺序执行。
广告