2017-04-03 17 views
1

番号を持つ特定のページがあります。これはリストへのリンクです。私はカウントを検索できるようにしたい。カウントが0の場合は何もしないでください。そうでない場合は数字をクリックしてリストを開きます。要素が分度器に存在するかどうかの確認

私は分度器でisPresent()関数を使用してそれを検索しています。非同期コールバックがjasmine.DEFAULT_TIMEOUT_INTERVALによって指定されたタイムアウト内で呼び出されていなかった - タイムアウト:

私のコードでは、これは常に次のエラー

エラーを返し、しかし

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

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

}); 

です。

この問題を解決するにはどうすればよいですか?

編集:

HTMLコードと同じためconf.jsファイルに

<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

HTMLコードを貼ってください。 –

+0

参照用のHTMLコードも追加されました – Sid

+1

ロケータはこの$( '#cda-e2e-softwareCountZero')が好きです。このロケータで試してください –

答えて

0

増加ジャスミン時間外です。以下のコードに従ってください

allScriptsTimeout: 60000, 

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

それはうまくいきました、ありがとう!しかし、私は非常に高い価値を設定しなければなりませんでした。なぜelseブロックに入るのに時間がかかりますか? – Sid

+0

アプリケーションに多数のポーリング要求がある可能性があります。実行が遅くなります。あなたのソリューションがあなたのために働くなら、私の答えをチェックしてください –

関連する問題