我正在尝试获取所选的文本,并比较期望值。我有以下代码:
expect<any>(select_seller.getText()).toEqual('SELLER 1')
但我得到的结果是整个卖家名单的文本如下:
Expected ' SELLER 2
SELLER 1
SELLER 3
SELLER 4
' to equal 'SELLER 1'.
我尝试了什么:
select_seller.getAttribute('text')
,结果为undefined
。
select_seller.getAttribute('value')
,结果为:Expected '1: Object' to equal 'SELLER 1'.
编辑:
select的html代码是:
<select id="field_seller" [(ngModel)]="o.seller">
<option [ngValue]="sellerOption" *ngFor="let sellerOption of sellers">
{{sellerOption.name}}
</option>
</select>
有人对此有所了解吗?非常感谢!!
答案 0 :(得分:3)
这可能不正确,因为我还没有对此进行过测试,但您可以执行类似
的操作function getSelectedText(select) {
return select.getAttribute('value')
.then(function (i) {
return select.element(by.css('option[value="' + i + '"]')).getText();
});
}
getSelectedText(element(by.id('select_id'))).then(...)
或者更简单的方法:
function getSelectedText(select) {
return select.element(by.css('option:checked')).getText();
}
getSelectedText(element(<locator of select>)).then(...)