Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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_Ajax_Json_Angularjs_Protractor - Fatal编程技术网

Javascript 将量角器测试中更新的输入读取为字符串

Javascript 将量角器测试中更新的输入读取为字符串,javascript,ajax,json,angularjs,protractor,Javascript,Ajax,Json,Angularjs,Protractor,我正在尝试读取量角器中操作的输入。我正在尝试从量角器中发送ajax请求。我需要将一个唯一值(我正在调用groupCode)发送到要发送到服务器的JSON对象的一部分 因此,首先我尝试设置一个可以更新的隐藏输入。我试过: <div style='hidden' > <input id="group-sendgrid-hidden-input" ng-model='groupCode' value='{{groupCod

我正在尝试读取量角器中操作的输入。我正在尝试从量角器中发送ajax请求。我需要将一个唯一值(我正在调用
groupCode
)发送到要发送到服务器的JSON对象的一部分

因此,首先我尝试设置一个可以更新的隐藏输入。我试过:

<div style='hidden' >
    <input 
        id="group-sendgrid-hidden-input" 
        ng-model='groupCode' 
        value='{{groupCode}}' 
        ng-init='groupCode=dangdangdang'
    >
</div>
也是为了以更直接的方式获得价值(我认为)

问题是,无论我尝试什么,groupCode数据的值似乎永远不会解析为字符串

  • 我不能
    console.log(groupCode)
  • 失败:
    var sendgridDataString=JSON.stringify(sendgridData)
  • 每次我得到这样的东西:

    { ptor_: 
        { controlFlow: [Function],
          schedule: [Function],
          getSession: [Function],
          getCapabilities: [Function],
          quit: [Function],
          actions: [Function],....
    
    我确信我需要的数据就在这里,我只是太新了,无法用量角器计算出来。然而,这是一种兴奋剂技术。多谢各位

    编辑: 我现在也尝试:

    var groupCode = element(by.id('group-sendgrid-hidden-input')).evaluate('groupCode').then(function(groupCode){
    
            console.log('test: ' + groupCode);
            return value;
    });
    
    以及:

    var groupCode = element(by.id('group-sendgrid-hidden-input')).getAttribute('value').then(function(groupCode){
    
            console.log('test: ' + value);
    
        return value;
    });
    
    在第二个示例中,groupCode返回:

    { then: [Function: then],
        cancel: [Function: cancel],
        isPending: [Function: isPending] }
    
    似乎仍然不可能只获取一个字符串,如
    groupCode='justsomewords'
    。这就是我需要交给另一个函数的地方

    我知道这一定是可能的,但这让我发疯。我将继续阅读文档。

    getAttribute()
    由于许多其他量角器方法返回承诺,您需要解决它:

    以下是有助于理解承诺概念的相关页面:

    • (总而言之,量角器的伟大介绍)

    我们进一步讨论这个问题,并在这里回答我提出的关于实现此处列出的解决方案的另一个问题的原始问题,该解决方案几乎已完成,并以我必须在
    it
    测试中编写的预期条件结束


    好的,谢谢。我看了这些文件。我不明白为什么
    console.log(值)返回null(或可能未定义)。我会继续阅读。有没有我缺少的函数调用?@usumoio这里的关键技巧是使用
    then()
    函数在解析后获得实际的承诺值。希望它有意义。
    var groupCode = element(by.id('group-sendgrid-hidden-input')).evaluate('groupCode').then(function(groupCode){
    
            console.log('test: ' + groupCode);
            return value;
    });
    
    var groupCode = element(by.id('group-sendgrid-hidden-input')).getAttribute('value').then(function(groupCode){
    
            console.log('test: ' + value);
    
        return value;
    });
    
    { then: [Function: then],
        cancel: [Function: cancel],
        isPending: [Function: isPending] }
    
    element(by.id('group-sendgrid-hidden-input')).getAttribute('value').then(function (value) {
        console.log(value);
    });