如何跨各种文件共享Cypress.io中的describe()块,类似于Mocha的“共享行为”功能

时间:2019-05-22 14:45:05

标签: mocha cypress picocontainer

我正在研究一个Web测试自动化框架,并希望通过一个柏树 .. spec.js 文件中的describe()块中的其他功能,通过另一种方法来实现在另一个cypress的 .. spec.js 文件中?

请详细了解Mocha中提供的共享行为功能: https://github.com/mochajs/mocha/wiki/Shared-Behaviours enter image description here enter image description here

我尝试过,但是没有用。 1.是否可以实现类似于“摩卡共享”步骤(如上所述)的东西? 2.还是有类似于Cucumber-ruby / Pico容器的 WORLD 对象?

请告知。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用自定义命令来重复使用多个文件上的步骤。可以通过以下步骤完成。

  1. cypress/support/commands.js中创建您要在多个文件中使用的步骤的自定义命令。您可以使用以下语法:
Cypress.Commands.add('customCommand', function() {
  cy.get('object')
    .clear()
    .type('something')
    // do other steps
})
  1. 创建自定义命令后,可以通过以下语法在测试脚本中使用它:
describe('Description of the test', function () {
  it('first scenario of the test', function () {
    cy.customCommand()
  })
})

结论:要在多个测试文件中共享步骤,您需要将共享步骤放置在commands.js中,而不是在测试文件中。