因此,我试图从解决此承诺的元素值中获取要返回的字符串值。我想将原始字符串值传递给我在量角器测试中构建的另一个函数。
这是元素:
<div style='hidden' >
<input id="group-sendgrid-hidden-input" ng-model='groupCode' value='dangyo' >
</div>
我正在寻找一种获取模型值或属性值的方法(两者都可以)。模型价值甚至可能更好。
这是我尝试解决这里的承诺并返回结果:
// first get the element driver object
var groupCode = element(by.id('group-sendgrid-hidden-input'));
// next resolve a promise provided by this element
groupCode.getAttribute('value').then(function(value){
console.log( 'should be a string: ' + value);
return value;
});
这里的console.log( 'should be a string: ' + value);
总是返回null
为了value
我似乎无能为力解决这个问题。我确信我做错了什么,因为我是量角器新手,这看起来很简单。还有其他人经历过这种行为吗?
对于评论来说太大了,仍然是一个猜测,但是做一个怎么样?自定义“预期条件” https://stackoverflow.com/questions/27737333/expected-conditions-in-protractor and 等待input
元素的value
属性值不为null
:
var hasNotNullValue = function(elementFinder) {
return function() {
return elementFinder.getAttribute("value").then(function(value) {
return !!value; // is not null
});
};
};
var groupCode = element(by.id('group-sendgrid-hidden-input'));
browser.wait(hasNotNullValue(groupCode), 10000);
groupCode.getAttribute('value').then(function(value){
console.log('should be a string: ' + value);
});
您还可以使用evaluate() http://angular.github.io/protractor/#/api?view=ElementFinder.prototype.evaluate检索模型值:
groupCode.evaluate('groupCode').then(function(value) {
console.log(value);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)