Я использую Protractor для запуска тестов e2e, но не могу проверить текст элемента с помощью getText(). Угломеры возвращается:Проверка элемента using getText() возвращает пустую строку при использовании typeahead
Expected '' to equal 'Joe Smith'.
Вот код:
<span class="input-group" style="padding: 40px;">
<input tabindex="0" class="form-control ng-valid ng-dirty ng-
valid-parse ng-touched" id="requesterSearchInput" aria-expanded="false"
aria-invalid="false" aria-owns="typeahead-6604-1028" aria-
autocomplete="list" type="text" placeholder="Enter a Requester name" ng-
model="searchText" typeahead-loading="loadingLocations" typeahead-wait-
ms="500" typeahead-min-length="1" typeahead-on-
select="OnRequesterSelect($item)" typeahead-template-
url="requesterTypeAheadTemplate.html" typeahead="rdata for rdatas in
GetRequesters($viewValue)"></input>
В моем тестовом сценарии, у меня есть:
element(by.id('requesterSearchInput')).click();
browser.actions().sendKeys('Joe Smith').perform();
expect(element(by.id('requesterSearchInput')).getText()).toEqual('Joe Smith');
Однако последняя строка завершается с:
Expected '' to equal 'Joe Smith'.
Я сделал несколько попыток решить эту проблему oblem и никто не работал. Вот мои попытки:
Попытка 1:
expect(element(by.id('requesterSearchInput')).getText()).toEqual('Joe Smith');
Попытка 2:
expect(element(by.id('requesterSearchInput')).getAttribute("aria-hidden")).toEqual('Joe Smith');
Попытка 3:
expect(element(by.id('requesterSearchInput')).getAttribute("innerText")).
toEqual('Joe Smith');
Попытка 4:
var previousEntry = element(by.xpath("//div[@ng-hide='searchText']"))
.getAttribute("aria-hidden");
expect(previousEntry).toEqual('Masterson');
Ваша помощь очень признательна.
Хорошо, я понял предыдущие примеры, я видел. Я думал, что мне нужно заменить значение и атрибут. Я использовал значение, как вы предложили, и оно сработало. Благодаря! – Dawn