SAPUI5 OPA5 TypeError:sap.ui.test.matchers.Properties不是构造函数

时间:2017-08-07 07:17:47

标签: sapui5 sapui5-opa

我在SAPUI5应用程序的OPA测试中面临一个问题。

我正在尝试为SAPUI5 View执行OPA测试,我在View中创建了一个下拉列表,并为相应的View编写了OPA脚本。

当我运行OPA Sctipt时,我写的脚本无法在下拉菜单中选择“项目”,并且我通过说... TypeError:sap.ui.test.matchers.Properties不是构造函数

我不明白为什么Applcation没有提取sap.ui.test.matchers.Properties类

以下是问题的代码..

Translation.View.xml

<Select id="toolsDocType" width="100%" change="onToolsDocChange" forceSelection="true">
<items>
<core:Item text="--Select1--" key="X" enabled="false"/>
<core:Item text="Link" key="Link"/>
<core:Item text="Atatchment" key="attachment"/>
</items>
</Select>

js文件

此函数将开始执行测试脚本“fillAttachment()”函数

opaTest("Select Attachment", function (Given, When, Then) {
            // Arrangements
            //Given.iStartMyApp();

            //Actions
            When.onTheTranslationPage.fillAttachment();

            // Assertions
            Then.onTheTranslationPage.CustNameShouldGetFilled();
        });

运行上面的代码后,下面的函数将开始执行。

 fillAttachment : function () {
                            return this.waitFor({
                                id:"toolsDocType",
                                actions: new Press(),
                            success: function(oSelect) {
                                this.waitFor({
                                    controlType: "sap.ui.core.Item",
                                    matchers: [
                                        new sap.ui.test.matchers.Ancestor(oSelect),
                                        new sap.ui.test.matchers.Properties({ key: "link"})
                                    ],
                                    actions: new Press(),
                                    success: function() {
                                        Opa5.assert.strictEqual(oSelect.getSelectedKey(), "Link", "Selected link");
                                    },
                                    errorMessage: "Cannot select link from mySelect"
                                });
                            },
                                errorMessage: "There was no Input"
                            });
                        },

我看到以下错误.. 没有输入 测试代码抛出的异常:'TypeError:sap.ui.test.matchers.Properties不是构造函数 TypeError:sap.ui.test.matchers.Properties不是构造函数     在f.success(https://webidetesting4022059-w3446edba.dispatcher.int.sap.hana.ondemand.com/webapp/test/integration/pages/Translation.js?eval:240:10)     在f.r.success(https://webidetesting4022059-w3446edba.dispatcher.int.sap.hana.ondemand.com/resources/sap/ui/test/Opa5.js?eval:6:2978

你能帮我解决一下这个错误。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要在Route::GET('home/{page?}' ,array('uses'=>'News@home', 'as'=>'home')); 中定义路径才能加载JS文件。请阅读here以获取示例。

sap.ui.require

另一件事是你应该为sap.ui.require([ "sap/ui/test/opaQUnit", "sap/ui/test/actions/Press", "sap/ui/test/matchers/Properties", "sap/ui/test/matchers/Ancestor" ], function (opaTest, Press, Properties, Ancestor) { //Your code here }); 提供正确的值。

  
    

匹配者:[                    新的sap.ui.test.matchers.Ancestor(oSelect),                    new sap.ui.test.matchers.Properties({key:“ Link ”})                  ],

  

我试过了它应该可以解决你的问题。