2016-10-28 51 views
2

我有我的HTML页面上的单选按钮,我想测试当前选择的选项在量角器检查单选按钮+ AngularJS

 <div> 
      <input type="radio" name="radio1" value="enabled" checked/> 
      <label for="radio1">Yes</label> 
     </div> 
     <div> 
      <input type="radio" name="radio1" value="disabled" /> 
      <label for="radio1">No</label> 
     </div> 
     <br /> 

我在页面上使用这个代码的价值对象我用它来测试

var radio = $("input[type='radio'][name='radio1']:checked").val(); 

不幸的是,我得到

VAL()是未定义

如何根据单选按钮的当前状态返回“启用”或“禁用”?

+0

同样的结果很遗憾 –

+0

@Maximus'缬氨酸()'是一个jQuery的功能,他用量角器。 – Gunderson

回答

3

val()是一个jQuery函数,除非您以这种方式设置Protractor,否则您本身并不具有访问权限。使用getAttribute('value')相反,它返回一个承诺 - 看到getAttribute() reference

所以,如果你是在一个断言使用它,你可以让expect解决的承诺本身:

var radio = $("input[type='radio']:checked") 
expect(radio.getAttribute('value')).toEqual('enabled'); 

或者,如果您要访问的值和其他地方使用它,解决了自己的承诺:

radio.getAttribute('value').then(function (val) { 
    if(val === 'enabled') { 
     // code 
    } 
}); 
+0

谢谢,问题解决了 –