检查量角器中的单选按钮 + AngularJS
Checking a radio button in Protractor + AngularJS
我的 html 页面上有一个单选按钮,我想测试当前所选选项的值
<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() is undefined
如何根据单选按钮的当前状态return"enabled"或"disabled"?
val()
是一个 jQuery 函数,除非您以这种方式设置量角器,否则您本身无法访问该函数。使用 getAttribute('value')
代替,returns 一个承诺 - 请参阅 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
}
});
而不是 'enabled' 值 = 1
// 使用 TS
static myElement = element
.all(by.css('input[type="radio"]:checked'))
.get(0);
expect(this.myElement.getAttribute('value')).toEqual(
'1'
);
我的 html 页面上有一个单选按钮,我想测试当前所选选项的值
<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() is undefined
如何根据单选按钮的当前状态return"enabled"或"disabled"?
val()
是一个 jQuery 函数,除非您以这种方式设置量角器,否则您本身无法访问该函数。使用 getAttribute('value')
代替,returns 一个承诺 - 请参阅 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
}
});
而不是 'enabled' 值 = 1
// 使用 TS
static myElement = element
.all(by.css('input[type="radio"]:checked'))
.get(0);
expect(this.myElement.getAttribute('value')).toEqual(
'1'
);