Macaca 请教 waitForElementsByXPath (value, asserter, timeout, pollFreq, cb) 方法。

kingkong2017 · 2017年12月25日 · 最后由 kingkong2017 回复于 2017年12月26日 · 1953 次阅读

目前有一个 autocomplete 控件,输入搜索关键字,下拉列表列出可能需要查询的文字。
自动化代码需要等待所有推荐的下拉列表内容都显示出来。
我是判断下拉列表的内容大小,如果等于或者大于期望的数量,就认为全部显示。

我用 java 这样实现:

public static void waitForElementsAllDisplayed(List<WebElement> wes, int size) {
    new WebDriverWait(Grid.driver(), 2 * 60, 3 * 1000).until(new Function<WebDriver, Boolean>() {
        @Override
        public Boolean apply(WebDriver webDriver) {
                int currentSize = wes.size();
                System.out.println("waitForElementsAllDisplayed method, current list size: " + currentSize);
            return currentSize >= size;
        }
    });
}

现在想用 macaca 的 waitForElementsByXPath 实现,不知道

waitForElementsByXPath(value, asserter, timeout, pollFreq, cb)

asserter 如何写?

共收到 1 条回复 时间 点赞

asserter function(els,cb) 中 els 得到的是第一个 element,不是所有满足条件的数组。
是不是有问题啊?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册