如何从量角器访问角度md-tab元素?

时间:2017-11-20 08:32:28

标签: angular protractor e2e-testing angular-e2e

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

为什么量角器无法识别标签数量。这是由于角元素md-tab-group而发生的。如果我发表评论md-tab-group,我就可以访问标签了。如何在md-tab-group出现时访问标签元素?

P.S。我正在使用Angular 4.0

2 个答案:

答案 0 :(得分:0)

尝试使用它然后检索强度

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);
});

答案 1 :(得分:0)

Angular为md-tab(angular指令)创建新元素。这些标签可以由诸如&#34; md-tab-label-0-0&#34;等标识引用。对于第一个标签,&#34; md-tab-label-0-1&#34;对于第二个选项卡,如下图所示。

MyFiddle

第一个标签元素可以通过

访问
[For Report - Group Revision]

而且,问题的回答是

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