Jak sprawdzić, czy element jest widoczny lub ukryty w testowym (jaśminowym)?Testowanie, czy pewne elementy są widoczne czy nie
Moje DOM wygląda następująco:
<div class="span5 value-entry">
<input type="text" ng-model="query.value" placeholder="Enter value" class="input-large" ng-show="genericInput(criteria.attribute)">
<select ng-model="query.value" ng-options="entry for entry in filteredValue(criteria.attribute)" class="input-medium" ng-show="!genericInput(criteria.attribute)">
<option value="">-- Select Value --</option>.
</select>
</div>
Albo wybierz pokazanej lub polu tekstowym, ale nie jednocześnie. Chciałbym sprawdzić, który element jest widoczny (na podstawie innych kryteriów), ale nie potrafię wymyślić, jak uruchomić kod. Napisałem następujący kod:
expect(element('.value-entry input').is(':visible')).toBe(true);
ale pojawia się błąd:
TypeError: Object #<Object> has no method 'is'
Jak mogę sprawdzić, czy wejście jest widoczny i select jest ukryta w tym samym czasie (i vice versa) ?
EDIT: Pragnę dodać, że jest to koniec Koniec Testu
Zobacz też to pytanie: http://stackoverflow.com/questions/16703276/angular-watch- for-ngshow-nghide-changes-in-ancestors-that-affect-child-dom-ele dla rozwiązania, które uwzględnia także widoczność przodków. – lanoxx