如何使用Protractor.by.selectedOption

时间:2014-08-10 02:15:20

标签: protractor

我正在尝试从下拉列表中查看所选选项的文本。我在某处读过量角器已选择选项,但我似乎无法让它工作。我用了

ptor = protractor.getInstance();
var elemement = ptor.findElements(protractor.By.selectedOption('data.model'));
expect(elem.getText()).toEqual('some text');

假设我有下拉列表

<select class="..." ng-model="data.model"> 

但我收到了错误:

 TypeError: Object [object Object] has no method 'selectedOption'

我应该将什么作为param传递给selectedOption,为什么我会得到这个'对象没有方法'错误?非常感谢任何建议

2 个答案:

答案 0 :(得分:2)

我曾经使用过selectOption,并且最新的量角器版本停止了工作。

我现在用:

element(by.model('data.model')).getAttribute('value').then(function (selectValue) {
        expect(element(by.css('select option[value="' + selectValue + '"]')).getText()).toEqual(expectedText);
    });

selectedOption从未在phantomjs中运行,这适用于所有浏览器,因此对我来说这是一个改进。

答案 1 :(得分:0)

这对我来说是Protractor for Chrome(稍微修改/缩短了Andre的答案):

expect(element(by.model('data.model')).getAttribute('value')).toBe(expectedText);