在beforeEach中使用异步时,测试中的所有操作都会触发两次

时间:2019-07-03 08:20:10

标签: automated-tests e2e-testing cypress

我正在为legend应用编写E2E个测试,但是测试中调用的所有操作都会触发两次。

我尝试删除以前使用的所有自定义命令。

Angular

})

之所以使用

describe('some tests', () => { beforeEach(async() => { const data = { 'data':'someData' } cy.visit('url'); const window = await cy.window(); window.postMessage(JSON.stringify(data), '*'); }) it('test1', () => { cy.get('#login-field').type('email', {force: true}); cy.get('#password-field').type('password', {force: true}); cy.get('#login-button').click({force: true}); }) ,是因为否则赛普拉斯会由于其中一个父母中的{force: true}将它们报告为不可见。

我希望每个动作都会被触发一次,但它们会被触发两次并同时执行,例如类型“ email”触发两次,并且在字段中键入“ eemmaaiill”,而不是“ email”。

1 个答案:

答案 0 :(得分:0)

如果有人会怀疑:这是赛普拉斯的问题,如果我们在async中使用beforeEach,则测试操作将执行两次。当前的解决方案是不使用async或移动使用它来测试iteself的代码。