Test SAP - Navigation

La navigation de test SAP garantit que vous couvrez chaque module de votre système SAP et effectuez au moins un test pour chaque fonctionnalité. Il réduit également l'effort de test manuel et couvre la plupart des chemins de test dans un système SAP.

Des tests OPA peuvent être effectués pour vérifier SAP Testing Navigation. OPA est connu commeOpen Source Programminglangage et il est principalement utilisé pour développer des applications Web. Pour la compilation du programme OPA, vous pouvez utiliser Node.js sur le serveur et JavaScript du côté client.

Création d'un test à l'aide d'OPA

OPA vous permet d'utiliser trois objets dans Qunit. Ces fonctions doivent être définies dans un test afin que l'OPA sache quelles mesures doivent être prises.

  • Given - passer des arrangements.

  • When - les actions à entreprendre.

  • Then - affirmation.

Exemple

L'exemple suivant montre comment utiliser les 3 objets dans Qunit -

jQuery.sap.require("sap.ui.test.Opa");
jQuery.sap.require("sap.ui.test.opaQunit");

opaTest("press a Button", function (Given, When, Then) {
   // Arrangements
   Given.iStartMyApp();
	
   //Actions
   When.iPressOnTheButton();
	
   // Assertions
   Then.theButtonShouldHaveADifferentText();
}

L'étape suivante consiste à définir les trois fonctions.

Définition des fonctions

var arrangements = new sap.ui.test.Opa ({
   iStartMyApp : function (){
      return this.iStartMyAppInAFrame("../index.html");
   }
});

Dans la fonction ci-dessus, nous avons supposé que l'application s'exécute dans une page appelée index.html. Notre test OPA se trouve dans le dossier test / opa.html.

Définir des arrangements

var actions = new sap.ui.test.Opa ({

   iPressOnTheButton : function (){
      return this.waitFor ({
         viewName : "Main", id : "pressMeButton", success : function (oButton) {
            oButton.$().trigger("tap");
         },
         errorMessage : "No Button found"
      });
   }
})

Définir des assertions

var assertions = new sap.ui.test.Opa ({

   theButtonShouldHaveADifferentText : function () {
      return this.waitFor ({
         viewName : "Main",
         id : "pressMeButton",
			
         matchers : new sap.ui.test.matchers.PropertyStrictEquals ({
            name : "text",
            value : "got pressed"
         }),
			
         success : function (oButton) {
            Opa.assert.ok(true, "The button's text changed to: " + oButton.getText());
         },
			
         errorMessage : "No change in Button's text"
      )}
   }
})

Exécution du test OPA

sap.ui.test.Opa.extendConfig ({
   arrangements : arrangements,
   actions : actions,
   assertions : assertions,
   viewNamespace : "view."
});