如何从选择框中获取值

How to get the value from selectbox?

本文关键字:获取 选择      更新时间:2023-09-26

我正在尝试使用量角器验证是否从选择框中选择了正确的选项。

这是我从选择框中选择值的方式:

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") 没有方法 '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结构,请考虑在其上使用抽象,这将使您的测试更清晰、更具可读性,请参阅:

  • 选择 -> 选项抽象