量角器/JavaScript - 从选择下拉列表中返回字符串的函数
Protractor/JavaScript - Function returning a string from a select dropdown
我正在尝试创建一个方法,该方法在给定特定索引的下拉选择器中返回选项字符串。然后我想调用该方法并将字符串存储在变量中。注意:在量角器测试中调用该函数。
这是我的代码:
returnStringDropDownValue = function(elementId, index) {
var returnValue;
var options = element(by.id(elementId)).findElements(by.tagName('option'))
.then(function(options){
returnValue = options[index].getText();
});
return returnValue;
};
var x = returnStringDropDownValue('myId' ,1);
每当我调用此方法时,它都会返回未定义。我是javascript和量角器的新手,你能帮忙吗?
这是 JavaScript 中异步代码的固有问题。该值在then
内的某个稍后点填充。then
实际上是在函数返回后运行的。您需要返回承诺:
returnStringDropDownValue = function(elementId, index) {
return element(by.id(elementId)).findElements(by.tagName('option'))
.then(function(options){
return options[index].getText();
});
};
然后在要使用它时将其解开:
returnStringDropDownValue().then(function(value){
// use value here
});
试试这个:
代码笔
function returnStringDropDownValue(elementId, index) {
return document.getElementById(elementId).options[index].value;
}
相关文章:
- .value返回字符串,直到我将其保存到变量
- 无法从量角器测试中元素的值返回字符串
- 如何使用match返回字符串中的字符
- document.write未返回字符串
- $.ajax 检查返回字符串是否为“错误”
- jQuery AJAX调用PHP脚本并返回字符串
- javascript中对数字数组的迭代返回字符串
- 带多维数组返回字符串的json_encode;阵列”;而不是数据
- javascript只返回字符串的一级域名
- 使用Node.js'fs.readFile()返回字符串出现的行
- Javascript返回字符串
- Asp.net WebMethod-返回字符串[]并使用JavaScript进行解析
- 返回字符串中第一个数字之前出现的所有字母
- Javascript 计算器返回字符串而不是值
- EmberJs 将函数的返回字符串添加为类名
- 跨域 AJAX 调用返回字符串 JSON,而不是 JSON 对象
- Javascript:调整base64图像的大小并以非异步方式返回字符串
- 量角器/JavaScript - 从选择下拉列表中返回字符串的函数
- 在 JavaScript 中返回字符串
- 数组 .each() 循环返回字符串而不是 jQuery 中的值