2016-05-14 57 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

相关问题