2017-07-19 69 views
0

由於我的申請具有根據設置每次更改的付款狀態,因此我希望在報告中發佈對此測試用例的付款已完成。 這裏是代碼 -如何報告張貼的付款已完成或在量角器中跳過或失敗

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

這裏是我使用量角器嘗試過的代碼片段,

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'); 
       } 
      }); 
     }); 

請讓我知道我可以讓我的代碼更連續的和更好的報告。謝謝!

回答

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(by.css('td> div.ng-scope> span'))''替換'element.all(by.css('span'))''。如果你有「爲定位器找到多個元素」警告,你可以操縱你的選擇器,使其更具體(我沒有看到整個頁面的DOM)。 – Kacper