automated-tests - 在单击下拉窗口中带有编辑或删除按钮的下拉窗口时出现问题
问题描述
将 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);
解决方案
选项 2 是正确的。你永远不应该使用await
in expect
。TestCafe 等待选择器承诺,并在正确的时间和指定的超时期间执行。选项 1 不起作用,因为您在单击DetailsPage.addCommentWindow.value
之前强制进行了评估。DetailsPage.edit
推荐阅读
- java - 如何使用 Angular 和 Spring Boot RESTful Api 清理或沙盒用户输入
- python - Kivy Android:无法在 TextInput 中输入日语(或中文)
- javascript - 组合大写和小写搜索选项不适用于角度
- python - twinx 弄乱了 pcolormesh 情节的颜色条
- asp.net-mvc - 动态使用openxml在ppt中的多张幻灯片中划分表格
- database - 无法在多节点 TimescaleDB 设置上创建分布式超表
- r - 有没有办法在 R 中使用 spatstat 创建 ppp 对象列表?
- python - 如何计算 Pytorch 中的平均相对绝对误差
- python - 如何使用 C# 调用 Python 3.9 脚本
- r - R如何在运行长度中保存唯一值的同时删除重复值