Search code examples
protractorionic-frameworkionic-popup

Protractor + ionicPopup


Has anyone succeeded in using Protractor to detect an ionicPopup alert? I've tried all the workarounds suggested here but no luck. I need Protractor to detect the alert and check the text in the alert.


Solution

  • Here's the class I wrote to test that the popup exists and to ensure the text is correct in the header and body:

    var TestUtilities = function(){
        this.popup = element(by.css('.popup-container.popup-showing.active'));
    
        //Tests to see if $ionicPopup.alert exists
        this.popupShouldExist = function() {
            expect(this.popup.isDisplayed()).toBeTruthy();
        };
    
        //Tests to see if $ionicPopup.alert contains the text provided in the argument exists in the header
        this.popupContainsHeaderText = function (text) {
            this.popupShouldExist();
            expect(this.popup.element(by.css('.popup-head')).getText()).toMatch(text);
        };
    
        //Tests to see if $ionicPopup.alert contains the text provided in the argument exists in the body
        this.popupContainsText = function (text) {
            this.popupShouldExist();
            expect(this.popup.element(by.css('.popup-body')).getText()).toMatch(text);
        };
    };
    
    module.exports=TestUtilities;
    

    Also check out this site for more on testing Ionic in protractor it talks about how to check to see if the popup exists: http://gonehybrid.com/how-to-write-automated-tests-for-your-ionic-app-part-3/