3
我正在使用Protractor運行e2e測試,但無法使用getText()驗證元素的文本。量角器回報:在使用typeahead時使用getText()返回空字符串驗證元素
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'.
我已經多次嘗試解決這個問題沒有任何工作。這是我的嘗試:
嘗試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 2015-04-03 18:01:32