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