首页 > 解决方案 > 在单击下拉窗口中带有编辑或删除按钮的下拉窗口时出现问题

问题描述

将 1 与 2 和 1 与 3 进行比较,当我从期望中排除 await 或当我使用 await 等待 t.expect 时,可以单击编辑

1.

await t.expect(DetailsPage.commentsBody.find(`.dropdown-menu.show`).exists).ok(`comments drop down menu unavailable`)
       .click(DetailsPage.edit) //  ***----- doesn't clicks and throws error***  
       .expect(await DetailsPage.addCommentWindow.value).eql(comData.comment);

2.

await t.expect(DetailsPage.commentsBody.find(`.dropdown-menu.show`).exists).ok(`comments drop down menu unavailable`)
       .click(DetailsPage.edit)  // **----- does click and no error**
       .expect(DetailsPage.addCommentWindow.value).eql(comData.comment);

3.

await t.expect(DetailsPage.commentsBody.find(`.dropdown-menu.show`).exists).ok(`comments drop down menu unavailable`)
       .click(DetailsPage.edit);  // **----- does click and no error**

await t.expect(await DetailsPage.addCommentWindow.value).eql(comData.comment);

标签: automated-testsclicke2e-testingtestcafeweb-testing

解决方案


选项 2 是正确的。你永远不应该使用awaitin expect。TestCafe 等待选择器承诺,并在正确的时间和指定的超时期间执行。选项 1 不起作用,因为您在单击DetailsPage.addCommentWindow.value之前强制进行了评估。DetailsPage.edit


推荐阅读