【发布时间】:2014-11-07 03:56:49
【问题描述】:
我有以下简单的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 中所述:
使用 selected 属性获取或设置选定的选项卡。
因此以下只是返回null:
tabs.getAttribute('selected')
难道没有办法获取底层的 JS 对象吗?例如,就像我在 Chrome 控制台中输入的一样:
> document.getElementsByTagName('paper-tabs')[0].selected
0
我在 Protractor 的 API 中找不到任何可以满足我的目的的东西,我想知道其他人是如何做到这一点的?
谢谢!
【问题讨论】:
-
我有点希望能够访问 DOM 元素本身,而不是通过 String 注入 JS,这不是 IMO 最优雅的解决方案。但是,如果这是唯一可行的方法?也许我的整个方法都错了?谢谢。
标签: javascript angularjs polymer protractor