如何从选择框获取值?
How to get the value from selectbox?
我正在尝试验证是否使用量角器从选择框中选择了正确的选项。
这是我从选择框中选择值的方式:
element(by.id('form-mileage-unit')).click().then(function() {
element(by.cssContainingText('option', browser.params.lengthUnit)).click();
});;
所以在此基础上我写了下面的代码:
it('Verify paint color', function() {
element(by.id('form-mileage-unit')).click().then(function() {
element(by.cssContainingText('option', browser.params.lengthUnit).getAttribute("value")).toEqual(browser.params.lengthUnit);
});;
});
不幸的是我收到错误:
TypeError: Object by.cssContainingText("option", "Motohodin") has no method 'getText'
有人可以给我建议吗?
您在错误的地方关闭了括号并且没有 expect()
。替换:
element(by.cssContainingText('option', browser.params.lengthUnit).getAttribute("value")).toEqual(browser.params.lengthUnit);
与:
var option = element(by.cssContainingText('option', browser.params.lengthUnit));
expect(option.getAttribute("value")).toEqual(browser.params.lengthUnit);
如果您经常处理 select->option
构造,请考虑对其使用抽象,这将使您的测试更清晰、更具可读性,请参阅:
我正在尝试验证是否使用量角器从选择框中选择了正确的选项。
这是我从选择框中选择值的方式:
element(by.id('form-mileage-unit')).click().then(function() {
element(by.cssContainingText('option', browser.params.lengthUnit)).click();
});;
所以在此基础上我写了下面的代码:
it('Verify paint color', function() {
element(by.id('form-mileage-unit')).click().then(function() {
element(by.cssContainingText('option', browser.params.lengthUnit).getAttribute("value")).toEqual(browser.params.lengthUnit);
});;
});
不幸的是我收到错误:
TypeError: Object by.cssContainingText("option", "Motohodin") has no method 'getText'
有人可以给我建议吗?
您在错误的地方关闭了括号并且没有 expect()
。替换:
element(by.cssContainingText('option', browser.params.lengthUnit).getAttribute("value")).toEqual(browser.params.lengthUnit);
与:
var option = element(by.cssContainingText('option', browser.params.lengthUnit));
expect(option.getAttribute("value")).toEqual(browser.params.lengthUnit);
如果您经常处理 select->option
构造,请考虑对其使用抽象,这将使您的测试更清晰、更具可读性,请参阅: