Il existe une page particulière avec un numéro - un lien vers une liste. Je veux pouvoir rechercher le compte. Si le compte est 0, alors ne faites rien, sinon cliquez sur le nombre pour ouvrir la liste. J'utilise la fonction isPresent() dans Protractor pour la rechercher.Vérification de la présence d'un élément dans Protractor
Mon code est
$('cda-e2e-softwareCountZero').isPresent().then(function(result) {
if (result) {
// No Software
} else {
element(by.id('cda-e2e-softwareCount')).click();
}
});
Cependant, cela renvoie toujours l'erreur suivante
Erreur: Délai d'attente - rappel Async n'a pas été invoquée dans délai spécifié par jasmine.DEFAULT_TIMEOUT_INTERVAL.
Comment résoudre ce problème?
Edit:
Le code HTML pour le même est
<span class="panelHead">
Softwares
<a ng-if="summaryMetaDataList.softwares.length != 0"
ng-href="/application/application/{{summaryMetaDataInfo.entityId || alternateText}}/software/list{{dateParamsUrl}}">
<span style="text-decoration: none; color: black;">(</span><span class="textUnderlineBlue" id="cda-e2e-softwareCount">{{summaryMetaDataList.softwares.length}}</span><span style="text-decoration: none; color: black;">)</span>
</a>
<a ng-if="summaryMetaDataList.softwares.length == 0">
<span style="color: black" id="cda-e2e-softwareCountZero">({{summaryMetaDataList.softwares.length}})</span>
</a>
</span>
collez le code HTML. Il serait facile de vous aider –
Ajouté le code HTML pour votre référence aussi – Sid
Locator devrait aimer ce $ ('# cda-e2e-softwareCountZero'). Essayez avec ce localisateur –