元素没有提供黄瓜 - 夜间表(硒网络驱动程序)时刷新页面

时间:2017-08-22 09:12:34

标签: cucumber nightwatch.js

我需要刷新页面而不显示元素 我正在尝试这样的事情,但它没有帮助

    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)

});

如何正确地做到这一点?

1 个答案:

答案 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)
});