我想在一个页面中验证量角器中的表行数,在该页面中,此类表格不止一次出现.我一直在尝试使用first-of-type
选择器,但它似乎正在捕捉两个表,因为它们不会并排显示.
例如,给定此HTML:
First row Second row Third row Fourth row
First row Second row Third row Fourth row
而这个量角器代码:
element.all(by.css('table:first-of-type tr:first-of-type th')).then(function (elements) { expect(elements.length).toBe(4); });
量角器失败的原因是有8个元素而不是4个.看起来table:first-of-type
选择器捕获了两个元素,因为它们都是它们父div
组件的第一个子元素.我的项目结构是这样的,最好不要在每个包装中添加单个类div
.
有没有办法获得在Protractor中找到的第一个元素,然后搜索其子元素?
我没有:first-of-type
在Protractor中用作css选择器; 但是,你可以得到的第一个 table
与所有th
的,然后检查,看看是否计数为4.
expect(element.all(by.css('table')).first().all(by.css('th')).count()).toBe(4);