Javascript 无法从量角器测试中元素的值返回字符串
因此,我试图获取一个字符串值,该字符串值是根据这个承诺的解析从元素的值返回的。我想将原始字符串值传递给在量角器测试中构建的另一个函数 这是一个要素:Javascript 无法从量角器测试中元素的值返回字符串,javascript,angularjs,protractor,Javascript,Angularjs,Protractor,因此,我试图获取一个字符串值,该字符串值是根据这个承诺的解析从元素的值返回的。我想将原始字符串值传递给在量角器测试中构建的另一个函数 这是一个要素: <div style='hidden' > <input id="group-sendgrid-hidden-input" ng-model='groupCode' value='dangyo' > </div> 这里的console.log('应该是字符串:'+值)总是返回null,我似乎无法解决这个
<div style='hidden' >
<input id="group-sendgrid-hidden-input" ng-model='groupCode' value='dangyo' >
</div>
这里的
console.log('应该是字符串:'+值)对于值
,code>总是返回null
,我似乎无法解决这个问题。我肯定我做错了什么,因为我对量角器是新手,这看起来很简单。是否还有其他人经历过这种行为?它太大了,无法发表评论,仍然是一种猜测,但是,是否进行一次修改,然后等待输入元素的值
属性值不为null
:
还可以使用来检索模型值:
groupCode.evaluate('groupCode').then(function(value) {
console.log(value);
});
只是一个健全性检查-页面上只有一个元素具有id=“group sendgrid hidden input”
?是的,只有一个。刚刚进行了一次搜索。这可能与隐藏该分区有关吗?只是另一个健全性检查,因为它显然会返回一个“元素不可见”错误。好的,这很好。这很有效。在我的另一个问题中,我将更新答案在这里。非常感谢。
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);
});
groupCode.evaluate('groupCode').then(function(value) {
console.log(value);
});