Мой взгляд содержит sap.m.SearchField
.Как вызвать поле поиска в тестах OPA5
Как я могу вызвать поиск в этом поле? Обычный подход trigger("tap")
, похоже, не работает.
Мой взгляд содержит sap.m.SearchField
.Как вызвать поле поиска в тестах OPA5
Как я могу вызвать поиск в этом поле? Обычный подход trigger("tap")
, похоже, не работает.
После некоторой отладки я обнаружил, что комбинация псевдо-событий saptouchstart
и saptouchend
, запущенных в иконке увеличительного стекла в поле поиска, работает.
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"
});
Это также можно сделать с помощью следующей однострочника (source):
$(theSearchField).trigger("onSearch");
Но, возможно, это только возможно, с более свежей версией UI5, чем тот, используемый вами.
Другой подход решение было бы использовать EnterText action, который не только вводит термин поиска («Foobar» в следующем примере), но и запускает поиск потом:
this.waitFor({
id: "mySearchField",
actions: [ new sap.ui.test.actions.EnterText({ text: "foobar" }) ]
});