0

html:

<md-tab-group class="my-tab-group">
    <md-tab class="my-tab"></md-tab>
    <md-tab class="my-tab"></md-tab>
</md-tab-group>

e2e测试:

elems = element(by.css('.my-tab-group')).all(by.css('.my-tab'))
expect(elems).toBeTruthy();
expect(elems.count()).toEqual(2);

此测试失败:Expected 0 to equal 2

为什么量角器无法识别标签的数量。这是由于 angular element 发生的md-tab-group。如果我发表评论md-tab-group,我可以访问标签。存在时如何访问选项卡元素md-tab-group

PS我正在使用Angular 4.0

4

2 回答 2

3

Angular 为 md-tab(角度指令)创建新元素。这些选项卡可以通过 id 引用,例如第一个选项卡的“md-tab-label-0-0”,第二个选项卡的“md-tab-label-0-1”,如下图所示。

在此处输入图像描述

第一个选项卡元素可以通过

element(by.id('md-tab-label-0-0'));

而且,这个问题的答案是

elems = element.all(by.css('.mat-tab-labels'))
expect(elems).toBeTruthy();
expect(elems.count()).toEqual(2);
于 2017-11-21T19:33:18.423 回答
0

然后尝试使用它来检索mength

elems = element(by.css('.my-tab-group')).all(by.css('.my-tab'));
elems.then(function (result) {
  expect(result.length).toEqual(2);
});

或者

elems.count().then(function (size) {
   expect(size).toEqual(2);
});
于 2017-11-20T08:39:20.920 回答