Тестирование форм

В ходе работы столкнулся с необходимостью тестирования сценариев работы форм при помощи selenium. Но так и не нашел как же в поля форм добавить теги name или class (id генерятся автоматических и их так же не задашь). А без тегов обратится к полю возможно, только через xpass, что крайне неудобно, так как при любом изменении дизайна или компоновки пути к элементам меняются. Может я что то упустил и возможность задать теги идентифицирующие поле все же есть?

Добрый день, @AndreyKosinov
Для того, чтобы получить html узлы есть методы getNode, getInputNode.
Можно, например, получить инпут компонента ui.text и задать ему id или name.
Как в примере: Code Snippet

Хорошо, но что делать если элемент button?

@AndreyKosinov ,

Можно также обратиться через getInputNode() :

let btn = $$("btn1").getInputNode();
btn.id = "btnId1";
console.log(btn);
// <button type="button" id="btnId1" ... >

Я ищу через xpath

//div[@view_id="ID_FROM_WEBIX"]//button
//div[@view_id="ID_FROM_WEBIX"]//input

Пример Python:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://sg.revencu.me/login')
driver.find_element_by_xpath('//div[@view_id="username"]//input').send_keys('test1')
driver.find_element_by_xpath('//div[@view_id="password"]//input').send_keys('test2')
driver.find_element_by_xpath('//div[@view_id="login"]//button').click()