javascript - 如何在继续运行之前暂停测试脚本 3 秒?剧作家
问题描述
我正在运行一个名为 create admin 的测试。测试会先创建admin,然后检查admin是否创建成功。
在脚本中,我有一部分代码要等待 3 秒再继续,因为每当单击提交按钮时,导航完成后网站需要 3 秒来刷新管理表(用户信息列表) . 有关更多信息,此刷新不是导航,因此我的“waitForNavigation()”不起作用。
因此,过程将是:'填写表格'>'单击提交按钮'>'等待导航'>'重新加载用户表(3s)。
如果我不等待 3s 刷新表,测试会抛出错误,因为在表中找不到注册用户(我有其他脚本来查找用户)。
解决方案
我创建了一个名为“delayChecked()”的函数来将脚本延迟 3 秒。但它并没有像我预期的那样工作。
async function delayedCheck() {
// Refresh the table data required 3 seconds.
// Therefore, delay the scripts for 3 seconds.
let process_complete = false;
if (!process_complete) {
setTimeout(() => {
process_complete = true;
}, 3000);
}
}
export async function create(page: Page) {
await openUserTabOn(page);
const username = NAME_BASE + suffixify();
await page.click('text=New');
await page.fill('[placeholder="Name here..."]', 'testing123');
await page.fill('[placeholder="Username here..."]', username);
await page.fill('[placeholder="Password here..."]', 'xe123456');
await page.click('[role="listbox"]:has-text("admin")');
await page.click('[role="option"]:has-text("admin")');
await page.click('button :text-is("Save")');
await delayedCheck();
return username;
};
这里可能是什么问题?
推荐阅读
- javascript - 在 html 中刷新页面后,喜欢的值没有保存
- python - 得到 Python bigquery.jobs.create 权限错误
- c++ - 调整亮度和对比度 OpenCV C++
- autodesk-forge - 在 Autodesk forge 查看器中实现短路路径算法
- java - 如何修复不允许的数据库文件的错误?
- nginx - DDEV 不处理 Nginx 中的 SVGZ 文件
- java - Java 构造函数问题 - 布尔条件
- php - 当 PHP 中的行为空时,它不应该显示任何内容。当里面有东西时,它应该显示输入
- json.net - 如何在不递归调用 JsonConverter 的情况下使用 NewtonSoft JsonConverterAttribute 和 JToken.FromObject()
- elixir - Ecto.build_assoc 不关联记录