首页 > 解决方案 > Wdio - 获取项目列表的长度

问题描述

我从 ul 正确打印项目 (li) 的长度有问题。首先,我保存了一个带有 li 项目的选择器。接下来我调用长度方法。但是当我运行我的测试时,我得到未定义为 li 的长度。

我的代码:

get numberOfBooks() {
        return $$("fieldset > div.suggest-list > ol.item-list > li")
    }
 async TitleBookIsVisible() {
        await expect(this.numberOfBooks).toBeVisible();
        console.log(this.numberOfBooks.length)
    }

返回:未定义

//选择器正确

标签: javascriptseleniumautomationwebdriver-io

解决方案


我的假设是您使用 webdriverio 异步。如果是这种情况,那么您应该首先等待列表,然后查询它的长度。(等待this.numberOfBooks).length;

或者您可以将其提取到一个变量中,然后再进行检查。

const list = await this.numberOfBooks;
console.log(list.length); //should be defined here

推荐阅读