我使用OpenUI5创建我的应用程序,我想尝试集成OPA5来测试它。
我写了我的测试页:TestOPA.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Opa sample for matchers</title>
<script id="sap-ui-bootstrap" src="https://openui5.netweaver.ondemand.com/resources/sap-ui-core.js"></script>
<link rel="stylesheet" href="https://openui5.netweaver.ondemand.com/resources/sap/ui/thirdparty/qunit.css" type="text/css" media="screen" />
<script>
(function () {
jQuery.sap.require("sap.ui.thirdparty.qunit");
jQuery.sap.require("sap.ui.test.Opa5");
jQuery.sap.require("sap.ui.test.opaQunit");
var Opa = sap.ui.test.Opa;
var Opa5 = sap.ui.test.Opa5;
module("Matchers");
opaTest("Should find a Button with a matching property", function(Given, When, Then) {
// Act
Given.iStartMyAppInAFrame("../index.html");
/* When.waitFor({
viewName : "view.Main",
controlType : "sap.m.Button",
matchers : new sap.ui.test.matchers.PropertyStrictEquals({name : "text", value : "Changed text"}),
success : function (aButtons) {
ok(true, "Found the button: " + aButtons[0]);
},
errorMessage : "Did not find the button with the property Text equal to Changed text"
});
Then.iTeardownMyAppFrame(); */
});
})();
</script>
</head>
<body>
<h1 id="qunit-header">Opa sample for matchers</h1>
<h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture"></div>
</body>
</html>
index.html
是我的应用的根源。在流程内(不是在开始时)我加载未正确加载的资源。
我想加载资源http://localhost:8080/ZWebapp2/apps/appChangePwd/changePwd.js
但浏览器的控制台显示错误,加载资源http://localhost:8080/ZWebapp2/index.htmlapps/appChangePwd/changePwd.js
在所有浏览器上它都可以正常工作(打开http://localhost:8080/ZWebapp2/apps/appChangePwd/changePwd.js
)但我在启动时遇到问题TestOPA.html
如果我通过 Run as - &gt;在内部Eclipse浏览器上启动我的应用程序(index.html
),我会遇到同样的问题。 Web App Preview
答案 0 :(得分:0)
也许您使用相对路径引用文件,但是您想要一个绝对路径。以下是如何使用UI5的jQuery.sap.require
功能执行此操作的示例:
JSBIN exmaple
bin中的require语句应始终创建正确的请求。
在您的情况下,您似乎想声明一个绝对路径,这意味着它将在您托管(localhost:8080)后开始构建URL。相对路径从index.html所在的位置开始。