量角器,获取href值时出错

时间:2018-06-28 14:18:00

标签: jasmine protractor

如何获取每个“ a”的href值?

<div class="nea-sidebar" _ngcontent-c2="">
<a class="sidebar-item active" href="#/test" _ngcontent-c2="" routerlinkactive="active" ng-reflect-router-link="test" ng-reflect-router-link-active="active">
<i class="sidebar-icon fas fa-play" _ngcontent-c2="" ng-reflect-klass="sidebar-icon fas" ng-reflect-ng-class="fa-play"></i>
<span class="sidebar-label" _ngcontent-c2="">Start Test</span></a>

<a class="sidebar-item" href="#/sequences" _ngcontent-c2="" routerlinkactive="active" ng-reflect-router-link="sequences" ng-reflect-router-link-active="active">
<i class="sidebar-icon fas fa-project-diagram" _ngcontent-c2="" ng-reflect-klass="sidebar-icon fas" ng-reflect-ng-class="fa-project-diagram"></i>

序列

我正在使用:

element(by.css('nea-sidebar')).element(by.className('sidebar-item active')).isDisplayed().then (function(isVisible) {
if (isVisible) {
expect(element(by.css('nea-sidebar')).element(by.className('sidebar-item active')).getAttribute('href')).toBe('#/test');
}

});

由于“-预期”错误而失败:

  

我认为返回值正确,我应该更改ToBe条件。

1 个答案:

答案 0 :(得分:0)

getAttribute()返回一个承诺。尝试这样的事情:

element.all(by.css('.sidebaritem').first().getAttribute('href').then(function(value) { expect(value).toBe('#/test'); });