量角器 - 预期:+Nan 但实际:5

Protractor - Expected: +Nan but Actual: 5

我正在使用量角器和黄瓜:

我在Test.ts

中有这个
async getElements(): Promise<number> {
    let allElements: number;

    await element.all(by.id('test')).count().then(total => {
        allElements = total;
    });

    return allElements;
}

然后在steps.ts

let totalBefore: number;
let totalAfter: number;

Then('the entry is removed from the list', async () => {
    totalAfter = await Test.getElements();
    expect(+totalAfter).to.be.lessThan(+totalBefore);
})

我收到这个错误

AssertionError
       + expected - actual

       -5
       +NaN

我该如何解决这个问题?

你的getElements()总是returnundefined,然后+totalAfter变成+undefined,然后JavascriptreturnNaN.

尝试更改 getElements() 如下:

async getElements(): Promise<number> {
    return await element.all(by.id('test')).count();
}