检查量角器中是否存在元素

Checking if an element exists in Protractor

有一个特定的页面有一个编号 - 这是列表的 link。我希望能够搜索计数。如果计数为 0,则什么都不做,否则单击数字打开列表。

我正在使用 Protractor 中的 isPresent() 函数来搜索它。

我的密码是

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

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

});

但是,这样总是returns下面的错误

错误:超时 - 未在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内调用异步回调。

如何解决这个问题?

编辑:

HTML 相同的代码是

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

增加 Jasmine 在 conf.js 文件上的超时时间。按照下面的代码

  allScriptsTimeout: 60000,

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