SAP 测试 - 导航


SAP 测试导航可确保您涵盖 SAP 系统的每个模块,并为每个功能至少执行一次测试。它还减少了手动测试工作并涵盖了 SAP 系统中的大部分测试路径。

可以执行 OPA 测试来检查 SAP 测试导航。OPA 被称为开源编程语言,主要用于开发 Web 应用程序。对于OPA程序的编译,可以在服务器端使用Node.js,在客户端使用JavaScript。

使用 OPA 创建测试

OPA 允许您在 Qunit 中使用三个对象这些函数应该在测试中定义,以便 OPA 知道要采取什么操作。

  • 给定- 通过安排。

  • 何时- 要采取的行动。

  • 然后- 断言。

例子

以下示例展示了如何使用 Qunit 中的所有 3 个对象 -

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

下一步是定义这三个函数。

定义功能

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

在上面的函数中,我们假设应用程序在名为index.html的页面中运行。我们的 OPA 测试位于 test/opa.html 文件夹中。

定义安排

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

定义断言

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

运行 OPA 测试

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