2016-05-14 101 views
3

我正在測試每個頁面有10個問題的每個問題有5個選項(單選按鈕)的survery應用程序。爲了測試的目的,我需要選擇一些選項,它可以是第一個或最後一個 - 並不重要。我不知道單選按鈕的名稱,因爲它對每個問題都是完全隨機的。量角器 - 從未知組中選擇一個收音機

我的邏輯是首先獲取所有單選按鈕的名稱,然後從組中選擇最後一個無線電。

var radioNames = {}; 
    $$("input[type=radio]").filter(function(elem,index){ 
     elem.getAttribute("name").then(function(name){ 
      radioNames[name] = true; 
     }); 
    }).then(function(){ 
     for (name in radioNames){ 
      $$("input[name='" + name + "']").last().click(); 
     } 
    }) 

它工作正常。我的問題:有沒有更好的邏輯,用更少的代碼來實現呢?

+0

見http://stackoverflow.com/questions/27866054/how-to-set-a-radio-button-value-in-protractor –

回答

0

map()將是一個更合適的選擇:

$$("input[type=radio]").map(function(elem) { 
    return elem.getAttribute("name"); 
}).then(function(radioNames) { 
    for (name in radioNames) { 
     $$("input[name='" + name + "']").last().click(); 
    } 
}); 
+0

尼斯,謝謝@alecxe – KitKarson

相關問題