量角器2.0通过更改属性来获取元素

时间:2015-04-09 11:52:25

标签: javascript testing protractor end-to-end

考虑这个html:

<my-toolbox my-toolboxtitle="{{entity.name || 'New Entity'}}">
    <input ng-model="entity.name">    
</my-toolbox>

在升级到量角器2.0之前,我可以使用工具箱,如:

element(by.css("[my-toolboxtitle='New Entity']")).then(function(toolBox) {

    //do stuff with toolBox

    toolBox.element(by.css("input")).sendKeys(....);

    //still do some stuff with toolBox even though the title changed

});

即使entity.name发生了变化,promise中的toolBox也不会改变。现在升级到量角器2.0后,我的测试失败了&#34;没有使用定位器找到元素......&#34;更改工具箱中的名称后。有没有办法保持对toolBox元素的引用?

1 个答案:

答案 0 :(得分:0)

根据我的理解,以下内容应该按原样运行:

var toolbox = element(by.css("[my-toolboxtitle='New Entity']"));
toolBox.element(by.css("input")).sendKeys("test");