2017-04-03 8 views
1

Es gibt eine bestimmte Seite mit einer Nummer - das ist ein Link zu einer Liste. Ich möchte in der Lage sein, nach dem Zähler zu suchen. Wenn die Zählung 0 ist, dann nichts tun, sonst klicken Sie auf die Nummer, um die Liste zu öffnen.Überprüfen, ob ein Element in Winkelmesser existiert

Ich verwende die isPresent() - Funktion in Winkelmesser, um danach zu suchen.

Mein Code ist

$('cda-e2e-softwareCountZero').isPresent().then(function(result) { 

if (result) { 
    // No Software  
} else { 
    element(by.id('cda-e2e-softwareCount')).click(); 
} 

}); 

Dies ist jedoch immer den folgenden Fehler zurück

Fehler: Timeout - Async Rückruf wurde nicht innerhalb Timeout aufgerufen durch jasmine.DEFAULT_TIMEOUT_INTERVAL angegeben.

Wie löse ich dieses Problem?

Edit:

Der HTML-Code für das gleiche ist

<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> 
+0

einfügen HTML-Code. Es wäre einfach, Ihnen zu helfen –

+0

Hinzugefügt der HTML-Code für Ihre Referenz zu – Sid

+1

Locator sollte dies $ ('# cda-e2e-softwareCountZero'). Versuchen Sie mit diesem Locator –

Antwort

0

erhöht Jasmin Zeit auf conf.js Datei. Folgen Sie dem untenstehenden Code

allScriptsTimeout: 60000, 

    jasmineNodeOpts: { 
    // Default time to wait in ms before a test fails. 
    defaultTimeoutInterval: 12000 
    }, 
+0

Das hat funktioniert, danke! Aber ich musste einen sehr hohen Wert setzen. Warum dauert es so lange, den else Block zu betreten? – Sid

+0

Ihre Anwendung möglicherweise viele Abfragen Anforderungen. das macht die Ausführung langsam. Wenn Ihre Lösung für Sie funktioniert, kreuzen Sie meine Antwort an –

Verwandte Themen