如何从selectbox获取价值?

时间:2015-06-12 13:50:19

标签: javascript selenium testing protractor end-to-end

我正在尝试验证使用量角器从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")没有方法' getText'

有人可以告诉我吗?

1 个答案:

答案 0 :(得分:1)

您正在错误的位置关闭括号,并且没有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构造很多,请考虑使用抽象来使您的测试更清晰,更具可读性,请参阅: