Comment puis-je savoir si un élément est visible ou caché dans testacular (jasmin)?Tester si certains éléments sont visibles ou non
Mon DOM ressemble:
<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>
Soit la sélection est affichée ou la zone d'entrée, mais pas les deux. Je souhaite vérifier quel élément est visible (en fonction d'autres critères), mais je n'arrive pas à comprendre comment faire fonctionner le code. J'ai écrit le code suivant:
expect(element('.value-entry input').is(':visible')).toBe(true);
Mais je reçois une erreur:
TypeError: Object #<Object> has no method 'is'
Comment puis-je vérifier si l'entrée est visible et la sélection est caché en même temps (et vice versa) ?
EDIT: Je voudrais ajouter ici que c'est une fin pour mettre fin à essai
Voir aussi cette question: http://stackoverflow.com/questions/16703276/angular-watch- for-ngshow-nghide-changes-in-ancêtres-that-affect-child-dom-ele pour une solution qui considère également la visibilité des ancêtres – lanoxx