簡體   English   中英

量角器/ 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);

每當我調用此方法時,它都會返回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
});

嘗試這個:

CODEPEN

  function returnStringDropDownValue(elementId, index) {
      return document.getElementById(elementId).options[index].value;
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM