mardi 25 avril 2017

Nightwatch JS - IF Else IF assertion

Im new to Javascript( Nightwatch JS ) and programming in general.

I have an issue where with my If , Else If, Else test case, that does not proceed to the Else If statement.

I think it's because the condition in my IF Statement is an assertion ( .expect.element(); )

I was wondering if anyone can give me some pointers on what to do with my IF statement.

Essentially I want to verify :

If (checkbox is un-clickable) {
run set code; 
} Else if (this checkbox is clickable) {  
run set code;
} Else { 
.end();
}

Here's my sample test I did.

    ' Uninstall Missions Module ' : function(uninstallModule) {
        uninstallModule
          .url('http://ift.tt/2pgdjhZ')
          .setValue('#edit-text', "Missions")
          .pause(800);
          uninstallModule.expect.element('#edit-uninstall-missions').to.be.present;
          uninstallModule.waitForElementVisible('//*[@id="system-modules-uninstall"]/table/tbody/tr[31]/td[3]/div/div/ul/li/a', 1000, false);


        if (uninstallModule.expect.element('#edit-uninstall-missions').to.not.be.enabled) {
                uninstallModule.expect.element('body').text.to.contain('Remove mission entities')
                uninstallModule
                  .url('http://ift.tt/2q4fXKL')
              .verify.urlEquals('http://ift.tt/2q4fXKL');
            uninstallModule.expect.element('body').text.to.contain('Are you sure you want to delete all mission entities?');
            uninstallModule.click('xpath', '//*[@id="edit-submit"]');
            uninstallModule
              .pause(10000)
              .verify.visible("body > div.layout-container > main > div.region.region-highlighted > div > h2", "All mission entities have been deleted.");

        } else if (uninstallModule.expect.element('#edit-uninstall-missions').to.be.enabled) {
                uninstallModule
                  .url('http://ift.tt/2pgdjhZ')
              .setValue('#edit-text', "Missions");
            uninstallModule.click('#edit-uninstall-missions');
            uninstallModule.pause(800);
            uninstallModule.verify.urlEquals("http://ift.tt/2pgdYjL");
            uninstallModule.click('xpath', '//*[@id="edit-submit"]');
            uninstallModule.pause(1000);
            uninstallModule.verify.visible('body > div.layout-container > main > div.region.region-highlighted > div.messages.messages--status', "The selected modules have been uninstalled.");

        } else {
                uninstallModule.end();

        }

    },          
}

Aucun commentaire:

Enregistrer un commentaire