我正在开发一个Web测试自动化框架,并且想通过一个cypress ..spec.js 文件中的describe()块中存在的其他功能,通过另一个cypress ..spec.js 文件中的另一个方法中的功能?

请阅读有关Mocha中提供的共享行为设施的信息:
https://github.com/mochajs/mocha/wiki/Shared-Behaviours
mocha - 如何跨各种文件共享Cypress.io中的describe()块,类似于Mocha's 'Shared Behaviour的功能-LMLPHP
mocha - 如何跨各种文件共享Cypress.io中的describe()块,类似于Mocha's 'Shared Behaviour的功能-LMLPHP

我试过了,但是没有用。
1.是否有可能实现类似于“ Mocha 共享”步骤(如上所述)?
2.还是有类似于 cucumber ruby /微容器的 WORLD 对象的东西?

好心提醒。

mocha - 如何跨各种文件共享Cypress.io中的describe()块,类似于Mocha's 'Shared Behaviour的功能-LMLPHP

最佳答案

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

  • 使用要在多个文件中使用的步骤,在cypress/support/commands.js中创建一个自定义命令。您可以使用以下语法:

  • Cypress.Commands.add('customCommand', function() {
      cy.get('object')
        .clear()
        .type('something')
        // do other steps
    })
    
  • 创建自定义命令后,可以通过以下语法在测试脚本中使用它:

  • describe('Description of the test', function () {
      it('first scenario of the test', function () {
        cy.customCommand()
      })
    })
    

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

    关于mocha - 如何跨各种文件共享Cypress.io中的describe()块,类似于Mocha's 'Shared Behaviour的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56259458/

    10-15 13:36