【发布时间】:2020-07-30 15:55:44
【问题描述】:
在下面的量角器测试中,我尝试使用 CSS 定位器计算 div 的数量:
let list = element.all(by.css('div[class="ag-header-cell ag-header-cell-sortable"]'));
expect(list.count()).toBe(11);
从下面的屏幕截图中可以看出,这个类有 11 个 div,但由于某种原因,我的测试只计算了 10 个。所以我的测试失败并出现以下错误消息:
预计 10 为 11
为了查看哪个 div 未被识别,我记录了每个 div 的文本:
element.all(by.css('div[class="ag-header-cell ag-header-cell-sortable"]')).each((it) => {
it.getText().then((text) => {
console.log('Text', text);
})
})
col-id='Ni' 的 div 因某种原因未被识别,即使它确实具有我在测试中指定的 CSS 类。
谁能告诉我为什么会这样?
【问题讨论】:
-
我可以假设在您执行
count时页面没有完全加载。试着给它更长的等待时间 -
嗨@SergeyPleshakov 我在发布之前尝试过,但只是为了确保我在分配列表变量之前添加了
browser.sleep(20000);,但仍然收到相同的错误消息。 -
超级奇怪,可能是你的脚本有错误。这个页面可以公开访问吗?我去看看
-
我知道@SergeyPleshakov,它把我逼疯了:) 我下面的答案是检索所有值,这让它变得更加奇怪!不幸的是,它在用户名和密码后面,所以我无法分享它
标签: css angular jasmine protractor