我正在为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”。
答案 0 :(得分:0)
如果有人会怀疑:这是赛普拉斯的问题,如果我们在async
中使用beforeEach
,则测试操作将执行两次。当前的解决方案是不使用async
或移动使用它来测试iteself的代码。