如何在OPA5测试中调用搜索字段

时间:2015-11-05 10:02:18

标签: automated-tests qunit sapui5

我的观点包含sap.m.SearchField

如何在该字段中调用搜索?通常的trigger("tap")方法似乎不起作用。

3 个答案:

答案 0 :(得分:0)

经过一些调试后,我发现在搜索字段的放大镜图标中触发的伪事件saptouchstartsaptouchend的组合可以正常工作。

return this.waitFor({
    id: "mySearchField",
    viewName: sViewName,
    success: function (control) {
        var event, searchIcon;

        event = jQuery.Event( "saptouchend" );
        event.originalEvent = event; // would otherwise cause NPE at some point in SAP code
        searchIcon = control.$().find("div[id*=mySearchField-search]");
        searchIcon.trigger("saptouchstart").trigger(event);
    },
    errorMessage: "Search field not found"
});

答案 1 :(得分:0)

这也可以通过以下单行(source)完成:

    $(theSearchField).trigger("onSearch");

但也许只有更新版本的UI5才能实现这一点。

答案 2 :(得分:0)

另一种解决方案是使用here,它不仅会输入搜索词(" foobar" ,在以下示例中),还会触发之后搜索:

this.waitFor({
    id: "mySearchField",
    actions: [ new sap.ui.test.actions.EnterText({ text: "foobar" }) ]
});