Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从量角器测试中元素的值返回字符串_Javascript_Angularjs_Protractor - Fatal编程技术网

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);
});