Как сделать элемент двойного щелчка в SAP GUIShell с помощью Robot Framework?

#robotframework #sap-gui

#robotframework #sap-gui

Вопрос:

Я пытаюсь автоматизировать свою работу в SAP, используя Robot Framework с помощью SapGuiLibrary, но на данный момент у меня возникают трудности с выполнением команды Doubleclick Element для объекта оболочки.

После проверки объекта с помощью Script Tracker я нашел строки ниже:

 session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").setCurrentCell 2,"STRAS"
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").selectedRows = "2"
session.findById("wnd[0]/usr/cntlGRID1/shellcont/shell").doubleClickCurrentCell
 

Команда запрашивает 3 параметра:

 Doubleclick Element    element_id    item_id    column_id
 

Итак, я поставил так:

 Doubleclick Element    wnd[0]/usr/cntlGRID1/shellcont/shell    2    STRAS
 

Но это не работает, как вы можете видеть ниже:

 AttributeError: <unknown>.doubleClickItem
 

Итак, что я делаю не так?

Ответ №1:

Я думаю, что это текущее ограничение SapGuiLibrary.

Ключевое DoubleClick Element слово предназначено только для двойного щелчка элемента в элементе управления дерева типа «Список» или «Столбец» (объект GuiTree ).

В вашем случае вы хотите дважды щелкнуть ячейку в элементе управления сеткой (объекте GuiGridView ), но SapGuiLibrary не предлагает ключевое слово для этого.

Либо вы отправляете ошибку на https://github.com/frankvanderkuur/robotframework-sapguilibrary/issues , или вы делаете коррекцию самостоятельно.

ПРИМЕЧАНИЕ: если вы разработчик, вы можете увидеть все ограничения, сравнив код SapGuiLibrary и все возможные объекты и методы скриптинга SAP GUI (используйте эту прямую ссылку, если поиск зависает).