Javascript 将量角器测试中更新的输入读取为字符串
我正在尝试读取量角器中操作的输入。我正在尝试从量角器中发送ajax请求。我需要将一个唯一值(我正在调用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
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);
});