我有以下简单的paper-tabs
元素,我希望能够在量角器测试中断言:
<paper-tabs>
<paper-tab ng-repeat='tab in tabs'>
{{tab.title}}
</paper-tab>
</paper-tabs>
在量角器测试中,我希望能够执行以下操作:
it('url to tab', function() {
browser.get('#/my/url');
var tabs = element(by.css('header paper-tabs'));
tabs.getElement()(function(elem) {
expect(elem.selected).toBe(0);
});
});
请注意selected
是一个JS属性,而不是HTML属性,如polymer documentation中所述:
使用所选属性来获取或设置所选标签。
因此,以下只是返回null
:
tabs.getAttribute('selected')
是否有办法获得底层的JS对象?例如,就像我输入Chrome控制台一样:
> document.getElementsByTagName('paper-tabs')[0].selected
0
我在Protractor的API中找不到任何符合我目的的东西,我想知道其他人是怎么做到的?
谢谢!
答案 0 :(得分:1)
试试这个:
it('url to tab', function() {
browser.get('#/my/url');
// Get all the tabs.
var tabs = $$('[paper-tab]');
// select the first tab.
expect(tabs.get(0).getAttribute('selected')).toBe(0);
});