Test SAP - Navigazione

La navigazione nei test SAP garantisce di coprire ogni modulo del sistema SAP e di eseguire almeno un test per ciascuna funzionalità. Riduce inoltre lo sforzo di test manuale e copre la maggior parte dei percorsi di test in un sistema SAP.

È possibile eseguire test OPA per controllare la navigazione dei test SAP. OPA è noto comeOpen Source Programminglinguaggio ed è utilizzato principalmente per lo sviluppo di applicazioni web. Per la compilazione del programma OPA, è possibile utilizzare Node.js sul server e JavaScript sul lato client.

Creazione di un test utilizzando OPA

OPA ti consente di utilizzare tre oggetti in formato Qunit. Queste funzioni dovrebbero essere definite in un test in modo che OPA sappia quali azioni intraprendere.

  • Given - per passare accordi.

  • When - azioni da intraprendere.

  • Then - affermazione.

Esempio

L'esempio seguente mostra come utilizzare tutti e 3 gli oggetti in 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();
}

Il passaggio successivo consiste nel definire le tre funzioni.

Definizione delle funzioni

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

Nella funzione precedente, abbiamo assunto che l'app venga eseguita in una pagina chiamata index.html. Il nostro test OPA si trova nella cartella test / opa.html.

Definizione di accordi

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

Definizione di asserzioni

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"
      )}
   }
})

Esecuzione del test OPA

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