Получить выбранный текст опции в транспортире - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь получить выделенный текст выбора и сравнить значение с ожидаемым.У меня есть следующий код:

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'.

РЕДАКТИРОВАТЬ:

HTML-код для выбора:

<select id="field_seller" [(ngModel)]="o.seller">
  <option [ngValue]="sellerOption" *ngFor="let sellerOption of sellers">
      {{sellerOption.name}}
  </option>
</select>

Кто-нибудь есть идеи по этому поводу?Большое спасибо !!

1 Ответ

0 голосов
/ 01 июня 2018

Это может быть неправильно, потому что я еще не проверял это, но вы можете сделать что-то вроде

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(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...