使用 iTeardownMyAppFrame 和 iStartMyAppInAFrame 超时在 OPA5 测试中重启应用程序

Restart app within OPA5 test using iTeardownMyAppFrame and iStartMyAppInAFrame timed out

我尝试向现有的 .opa.qunit.js 文件添加另一个测试,这需要完全重启我的应用程序。 我尝试的是在我的测试中调用 "iTeardownMyAppFrame" 然后再次调用 "iStartMyAppInAFrame" 以确保干净的设置。

起初 iFrame 显示但立即关闭,一段时间后测试超时。下面的两种方法只调用 "iTeardownMyAppFrame" 和 "iStartMyAppInAFrame" 没有别的。

opaTest("FirstTest", function(Given, When, Then) {      
        Given.iStartTheSampleApp();

        //Testlogic
});

opaTest("TestWithCleanState", function(Given, When, Then) {
        Given.iShutdownTheApp();
//Until here everything above works fine
        Given.iStartTheSampleApp();

        //Testlogic
});

//EOF

控制台上没有错误,只是每秒重复两条消息:

sap-ui-core.js:15219 2015-03-11 10:05:37 Opa check was undefined -  
sap-ui-core.js:15219 2015-03-11 10:05:37 Opa is executing the check: function () {
                    if (!bFrameLoaded) {
                        return;
                    }

                    return checkForUI5ScriptLoaded();
                } - 

"iTeardownMyAppFrame" 的预期功能是什么? 它应该只用于在所有测试结束时拆除整个测试吗? 或者它也可以用来重置应用程序以确保测试开始时的干净状态吗?如果是这种情况,它应该如何工作?

谢谢

teardonw 删除了 iframe,在下一次测试中您必须再次启用它。 通过这种方式,您可以编写独立的 运行 独立测试。

这里有一个例子:

Opa sample with 2 isolated tests

如果在 test2 上按下 re运行 按钮,它将独立执行,不依赖于 test1

BR, 托比亚斯