[英]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);
每當我調用此方法時,它都會返回undefined。我是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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.