2017-07-19 14 views
0

私のアプリケーションは設定に応じて毎回変更される支払いステータスを持っているため、このテストケースの支払いが完了したというレポートを公開したい。 はここ投稿されたお支払いが完了したか、分度器でスキップまたは失敗したか

element(by.css('[ng-bind-html="receiptTemplate.ready"]')).isPresent().then(function() { 
      browser.sleep(5000); 
      (element.all(by.binding('receiptTemplate.skip'))).isPresent().then(function (skip) { 

       if (skip) { 
        console.log('Payment is Skipped'); 
       } 
      }); 
      element.all(by.binding('receiptTemplate.complete')).isPresent().then(function (complete) { 
       if (complete) { 
        console.log('Payment is Completed'); 
       } 
      }); 
     }); 

私は私のコードは、よりシーケンシャル、より良い報告することができますか教えてください、コード - ここ

<td class="" ng-switch="" on="lineItem.statusString" ng-show="lineItem.statusString" style=""> 
<!-- ngSwitchWhen: Unknown --> 
<!-- ngSwitchWhen: Initiated --> 
<!-- ngSwitchWhen: Validating --> 
<!-- ngSwitchWhen: Processing --> 
<!-- ngSwitchWhen: Failed --> 
<!-- ngSwitchWhen: Cancelled --> 
<!-- ngSwitchWhen: Refunded --> 
<!-- ngSwitchWhen: Ready --> 
<!-- ngSwitchWhen: Completed --> 
<div class="ng-scope" ng-switch-when="Completed" style=""> 
<!-- end ngSwitchWhen: --> 
<!-- ngSwitchWhen: Skipped --> 
<!-- ngSwitchWhen: Errored --> 
</td> 
<td class="ng-binding ng-hide" ng-show="!lineItem.statusString" ng-bind-html="receiptTemplate.ready" style="">Ready</td> 
<div class="ng-scope" ng-switch-when="Completed" style=""> 
<img src="/images/success.gif"/> 
<span class="ng-binding" ng-bind-html="receiptTemplate.complete">Completed</span> 
</div> 
<!-- end ngSwitchWhen: --> 
<!-- ngSwitchWhen: Skipped --> 
<!-- ngSwitchWhen: Errored --> 
</td> 

私は分度器を使用してみましたが、コードスニペットがあります。ありがとう!

答えて

0

すべてのステータスがspanであり、それは一度に一つだけの状態であることができれば、あなたはそれを試すことができます。

element(by.css('[ng-bind-html="receiptTemplate.ready"]')).isPresent().then(function() { 
    browser.sleep(5000); 
    element.all(by.css('span')).getText().then(function (currentText) { 
     console.log(currentText); 
    }); 
}); 
+0

おかげカツペル、これはコードの素敵な作品が、あるページでの印刷をすべてですタグ名。完了した、スキップされたタグだけを報告する方法はありますか? – Smitha

+0

'element.all(by.css( 'span'))'を 'element(by.css( 'td> div.ng-scope> span'))'で置き換えることができます。 「複数の要素がロケータで検出されました」という警告が表示される場合は、セレクタを操作してより具体的にすることができます(ページ全体のDOMは表示されません)。 – Kacper

関連する問題