如何验证夜视中异步调用的结果?

时间:2018-12-05 01:18:41

标签: javascript asynchronous nightwatch.js

我正在用守夜人编写一些测试,试图验证是否已向表中添加一行,就像这样:

browser.elements('css selector', 'tr', function(result) {
    result.value.forEach(function (element) {
        browser.elementIdText(element.ELEMENT, function (result) {
            var rowText = result.value;
            if (rowText.includes(randomName)) {
                this.verify.ok(...) // this doesn't always run
            }
        });
    });
});

最里面的验证行并非总是在测试用例返回之前运行,我猜是因为elementIdText是异步运行的(apparently I'm not alone in wondering why)。因此,我如何重构它以确保该块在测试返回成功之前运行?我怀疑这与promise或async / await有关,但是我不确定如何构建它。

0 个答案:

没有答案
相关问题