考虑这个 html:
<my-toolbox my-toolboxtitle="{{entity.name || 'New Entity'}}">
<input ng-model="entity.name">
</my-toolbox>
在升级到 Protractor 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 也不会改变。现在升级到 Protractor 2.0 后,我的测试在更改工具箱中的名称后失败,并显示“使用定位器未找到元素...”。有没有办法保留对 toolBox 元素的引用?
最佳答案
据我了解,以下内容应该按原样工作:
var toolbox = element(by.css("[my-toolboxtitle='New Entity']"));
toolBox.element(by.css("input")).sendKeys("test");
关于javascript - protractor 2.0 通过改变属性获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29537775/