我正在尝试从下拉列表中查看所选选项的文本。我在某处读过量角器已选择选项,但我似乎无法让它工作。我用了
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,为什么我会得到这个'对象没有方法'错误?非常感谢任何建议
答案 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);