gpt4 book ai didi

javascript - 将 Protractor 测试中的更新输入作为字符串读取

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:26 25 4
gpt4 key购买 nike

我正在尝试读取 Protractor 中操作的输入。我正在尝试从 Protractor 内发送 ajax 请求。我需要将一个唯一值(我称之为 groupCode)发送到我想发送到服务器的 JSON 对象的一部分。

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

<div style='hidden' >
<input
id="group-sendgrid-hidden-input"
ng-model='groupCode'
value='{{groupCode}}'
ng-init='groupCode=dangdangdang'
>
</div>

还有这种读取模型值的尝试:

<div style='hidden' >
<input
id="group-sendgrid-hidden-input"
ng-model='groupCode'
value='{{groupCode}}'
ng-init='groupCode=dangdangdang'
>
{{groupCode}}
</div>

现在,我可以在 Angular 控制台中看到这个值随着我的除外而更新。这意味着 $scope.groupCode 确实解析为“dangdangdang”。所以我不认为这是问题所在。从这里开始,我希望在 Protractor 测试中读取 groupCode 字符串,如下所示:

这是我尝试过的一些方法:

var groupCodeModel      = element(by.model('groupCode'));
var groupCodeBinding = element(by.binding('groupCode'));
var placeholder = groupCodeBinding.getText();

也试图以更直接的方式获取值(value)(我认为)

var groupCode = element(
by.id('group-sendgrid-hidden-input')
).getAttribute('value');


// and then later I want to do this:
var sendgridData = {envelope: 'what', test: groupCode};

问题是无论我尝试什么,groupCode 数据的值似乎都无法解析为字符串。

  1. 我无法console.log(groupCode);
  2. 这失败了:var sendgridDataString = JSON.stringify(sendgridData);

每次我得到这样的东西:

{ ptor_: 
{ controlFlow: [Function],
schedule: [Function],
getSession: [Function],
getCapabilities: [Function],
quit: [Function],
actions: [Function],....

而且我确定我需要的数据就在这里,我对 Protractor 太陌生了,无法弄清楚。然而,它是涂料技术。谢谢。

编辑:

我现在也尝试过:

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 = 'just some words' 这样的字符串。这是我需要交给另一个函数的。

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

最佳答案

getAttribute() 因为许多其他 Protractor 方法返回一个 promise ,您需要解决它:

element(by.id('group-sendgrid-hidden-input')).getAttribute('value').then(function (value) {
console.log(value);
});

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

关于javascript - 将 Protractor 测试中的更新输入作为字符串读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29359358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com