4

我正在开发一个 Web 测试自动化框架,并且希望通过另一个 cypress ..spec.js 文件中另一个 cypress ..spec.jsdescribe()文件中存在的方法来阻止一个 cypress ..spec.js文件中存在的一些功能 ?

请阅读Mocha 中提供的 共享行为工具: https ://github.com/mochajs/mocha/wiki/Shared-Behaviours 在此处输入图像描述 在此处输入图像描述

我试过了,但它不起作用。1. 是否可以实现类似于 Mocha Shared 的步骤(如上所述)?2. 或者有没有类似于 Cucumber-ruby/Pico-container 的WORLD对象的东西?

好心提醒。

在此处输入图像描述

4

1 回答 1

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 而不是测试文件中。

于 2019-05-23T06:42:40.130 回答