【发布时间】:2015-07-08 16:44:39
【问题描述】:
我尝试对给定的 UI5 应用程序进行原子化测试。因此,我在 WebContent 下创建了一个名为 test-resources 的文件夹。在那个文件夹中,我放置了两个文件用于第一次测试。
第一个文件:experimental.qunit.html,其中包含一些第一个工作单元测试代码。
第二个文件:experimental.opa.html,其中包含文档中的示例代码。
测试部分如下所示:
opaTest("Should find a Button with a matching property", function(Given, When, Then) {
// Act
Given.iStartMyAppInAFrame("index.html");
When.waitFor({
viewName : "view.master.Master",
controlType : "sap.m.Button",
matchers : new sap.ui.test.matchers.PropertyStrictEquals({
name : "icon",
value : "sap-icon://show"
}),
success : function (aButtons) {
debugger;
ok(true, "Found the button: " + aButtons[0]);
},
errorMessage : "No button with property icon equal to sap-icon://show"
});
Then.waitFor({
// not implemented
});
Then.iTeardownMyAppFrame();
});
首先我假设我也可以搜索带有图标属性的按钮。
第二个假设是,viewName 是视图文件的名称和文件夹?在应用中,视图是拆分应用的主视图。
我这样开始测试: * 在 Eclipse 中标记项目并选择运行为“Web App Preview” * 当然,我看到我的正常应用程序 * 我将 index.html 部分替换为 test-resoruces/experimental.opa.html * 现在我可以看到测试并且我的应用显示在 iframe 中
但是: 1.按钮选择不起作用,有人知道怎么了吗? 2.如果我更改了html代码,我必须一直重新启动“Web App Preview”,重新加载似乎不起作用。更新测试代码后是否有“更好”的方式来运行测试?
应用程序本身被定义为一个组件,主视图是一个SplitApp xml文件,其中包含以下内容:
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
displayBlock="true"
xmlns="sap.m">
<SplitApp id="idAppControl" />
</mvc:View>
与此同时,我发现了问题并修复了它。我的PropertyStrictEquals 语法错误。
(Web App Preview 的)重启问题依然存在。
我还发现了一个有用的示例: https://openui5beta.hana.ondemand.com/test-resources/sap/m/demokit/cart/test/BuyProductJourney.qunit.html
【问题讨论】:
标签: unit-testing automated-tests sapui5