我需要刷新页面而不显示元素 我正在尝试这样的事情,但它没有帮助
When(/^"([^"]*)" task status changed$/, taskName => {
let needRefresh = true;
do {
client.url(`${client.globals.env.url}${client.globals.env.index}/messaging/messages`)
.pause(10000)
.getTagName(`//div[contains(@class, "task-checkbox")]//*[contains(text(), "${taskName}")]`, res => {
client.equal(res.value, 'div')
}).pause(20000);
} while (!needRefresh)
});
如何正确地做到这一点?
答案 0 :(得分:0)
为了能够使用复杂的异步操作,我建议使用新的async
函数。如果您的NodeJs版本本身不支持它,我建议使用Babel。 nightwatch-cucumber
example folder中有一个例子。为了能够刷新页面直到某些条件,您可以使用以下示例。
When(/^"([^"]*)" task status changed$/, async (taskName) => {
let needRefresh = true;
do {
await client.refresh();
await client.pause(10000);
needRefresh = await client.getTagName(...
} while (!needRefresh)
});