使用Cypress如何在一个域上运行预测试代码,然后在另一个域上执行所有测试

使用Cypress如何在一个域上运行预测试代码,然后在另一个域上执行所有测试,cypress,Cypress,我有以下用例。在不同的域上有两个站点。usersettings.com(用ExtJS编写)和myapp.com(angular app)。Usersettings.com包含会改变myapp.com用户界面的配置。例如,请参见屏幕截图 现在,因为在运行所有测试文件之前,我需要将用户设置修改为不同的设置。在Cypress中解决这个用例的最佳方法是什么 我计划使用的一种方法是使用一个Cypress spec文件访问usersettings.com并更改用户设置站点的配置。我可以通过将其编码为支持文

我有以下用例。在不同的域上有两个站点。usersettings.com(用ExtJS编写)和myapp.com(angular app)。Usersettings.com包含会改变myapp.com用户界面的配置。例如,请参见屏幕截图

现在,因为在运行所有测试文件之前,我需要将用户设置修改为不同的设置。在Cypress中解决这个用例的最佳方法是什么


我计划使用的一种方法是使用一个Cypress spec文件访问usersettings.com并更改用户设置站点的配置。我可以通过将其编码为支持文件来实现它。在这之后,我可以运行我的整个测试套件(有多个*.spec.js文件)。这个问题是有可能的,它是否是一种针对其他替代方案(如果有)的好方法?

可以通过在单独的测试用例中设置测试来完成

//Global setup

context('doubleDomainTest', () => {
    it('firstDomain', function () {
        //Code to run on the firstDomain
    })
    it('secondDomain', function () {
        //Code to run on the secondDomain
    })
})

很抱歉这个天真的问题,但是我如何在整个测试套件开始之前运行这个全局测试用例呢?对于这种情况,我会执行一个自定义命令,并在需要时使用它,因为我不知道在不需要它时是否会有一个用例。这样也很容易维护。根据mi seniors的说法,这是最佳编码实践-除非绝对需要,否则不要进行全局设置。理论上,如果您愿意,您应该能够在每次测试之前运行的
/support/index.js
案例中添加
before()
,但我不建议这样做。