Идентификаторы полей в компонентах SAP Netweaver webdynpro
Есть ли способ извлечь идентификаторы полей компонентов SAP webdynpro? Мне нужно, чтобы они создали стабильную среду автоматического тестирования.
3 ответа
Вы можете быть заинтересованы в использовании меток компонентов вместо идентификаторов.
Потому что, как упоминалось ранее, вы не можете полагаться на идентификаторы: они генерируются.
Вот CSS-подобный селектор, который можно использовать для доступа к элементу (в Ruby, используя Watir):
def find_element_id_by_label_name(name)
label_regexp = Regexp.new(name + "\s?\:?")
l = @browser.label(:text, label_regexp)
id = l.attribute_value('f')
id
end
def find_textfield_by_name(name)
@browser.text_field(:id, find_element_id_by_label_name(name))
end
С Firebug вы можете видеть текущее состояние DOM HTML-страницы. Это означает, что вы также можете видеть материал, который был добавлен через AJAX после загрузки страницы (в случае с Web Dynpro почти все).
Существует даже функция, позволяющая щелкнуть элемент HTML, например поле формы, и перейти к его источнику, включая идентификатор.
С наилучшими пожеланиями, Тобиас
Немного не по теме, но может быть полезно: на sdn есть набор статей о тестировании пользовательского интерфейса webdynpro
С уважением
Гийом