1

AngularJS: アラート ポップアップ

<div class="modal-header">
<h3>
<span class="firefinder-match" data-ng-show="dialog.stopOrService === 'STOP'" data-translate-values="{"days":"ALL_DAYS","time":"2015-06-20T08:39:46.654Z","stopOrService":"STOP","stopName":"Fairbairn Av after War Memorial Service [3473]","serviceList":[{"serviceNumber":"910","id":"6350571294206984726","name":"910 City via Majura Business Park(Net14NoAir"}],"selectedService":null,"receiveSituations":false,"processing":false}" data-translate="liveDepartures.alerts.addModal.stopHeader">Add a regular alert for upcoming buses at Fairbairn Av after War Memorial Service [3473]</span>
<span class="firefinder-match ng-hide" data-ng-show="dialog.stopOrService === 'SERVICE'" data-translate-values="{"days":"ALL_DAYS","time":"2015-06-20T08:39:46.654Z","stopOrService":"STOP","stopName":"Fairbairn Av after War Memorial Service [3473]","serviceList":[{"serviceNumber":"910","id":"6350571294206984726","name":"910 City via Majura Business Park(Net14NoAir"}],"selectedService":null,"receiveSituations":false,"processing":false}" data-translate="liveDepartures.alerts.addModal.serviceHeader">Add a regular alert for route </span>
</h3>
</div>

アサーション: getText() の使用

        var pageHeader = element(by.css('.modal-header > h3 > span'))
        expect(pageHeader.getText()).toContain('Add a regular alert');
        pageHeader.getText().then(function(text){
            console.log("++++++++++++++++++++++++++++++++++++++" +text);

        });

問題: 要素からテキストを取得 できない モデル ヘッダーの「テキスト」を特定する方法をいくつか試しましたが、要素からテキストを取得できませんでした。問題は、要素が識別されていないようです。誰かがこの問題を解決するのを手伝ってくれますか?

4

2 に答える 2

2

エラーが確認されると、セレクターは .modal-header 内で両方のスパンを返しています。両方をキャッチして、1 つを指定することもできます (注: これらはテストしていません)。

var pageHeader = $$('.modal-header > h3 > span');
expect(pageHeader.get(0).getText()).toContain('Add a regular alert');

または、セレクターで別のアプローチを試してください。たぶん:not、目に見えるスパンだけを返すようにしてください:

var pageHeader = $('.modal-header span:not(.ng-hide)'); 
于 2015-06-20T16:16:30.823 に答える