I don`t why this protractor code work for popups. My protractor version : 4.0.3 chrome version: chromedriver_2.22.exe
below is the Error message that i am getting
Failed: no alert open (Session info: chrome=52.0.2743.116) (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.1.7601 SP1 x86_64) Stack: NoSuchAlertError: no alert open (Session info: chrome=52.0.2743.116) (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.1.7601 SP1 x86_64)
HTML Script for the popup
<div class="modal-content" modal-transclude=""><div class="popupAlert popupAlert-full marginNone ng-scope">
<div class="popup-header">
<h2 class="modal-title ng-binding" id="myModalLabel">You are leaving this page </h2>
</div>
<div class="popup-body">
<div class="row Margin0">
<p class="text ng-binding">By continuing all the SLI data will be lost.</p>
</div>
</div>
<div class="popup-footer">
<div class="row Margin0">
<a data-ng-click="cancel()" class="pull-right buttonLink2">Cancel
<button type="button" class="pull-right swc_button" focus-element="autofocus" data-dismiss="modal" ng-click="ok()">Ok</button>
</a></div><a data-ng-click="cancel()" class="pull-right buttonLink2">
</a></div><a data-ng-click="cancel()" class="pull-right buttonLink2">
</a></div></div>
Protractor code
var popupAlert = browser.switchTo().alert();
var alertText = popupAlert.getText();
console.log(" Alert text :" +alertText);
popupAlert.accept();
//expect(popupAlert.accept).toBeDefined();