#python #python-3.x #selenium
#python #python-3.x #selenium
Вопрос:
На данный момент я просто сохраняю его в файле ‘.ini’ и получаю доступ через ‘configparser’. Но проблема в том, что когда мы работаем с некоторыми большими приложениями с таким количеством страниц в нем, очень сложно вносить какие-либо изменения.
[login]
login_window=//h4[text()='Login']
username_input=//input[@name='username']
password_input=//input[@name='password']
login_button=//input[@value='Login']
Ответ №1:
Сохранение XPATH извне — хороший подход, но XPATH отнимает много времени, ему не хватает производительности, и, как вы выяснили, его сложно поддерживать.
Вместо этого используйте CSS_SELECOTRS, CLASSNAME или ID — они редко меняются, и ваши тесты обновляются с новыми изменениями пользовательского интерфейса. Также — используйте шаблон объекта страницы — вы можете отображать страницы пользовательского интерфейса в классах, и каждое поле будет определяться селектором, так легче отслеживать изменения.
например.
username_input=By.CSS_SELECTOR("input[@name='username']")
password_input=By.CSS_SELECTOR("input[@name='password']")
login_button=By.CSS_SELECTOR("input[@value='Login']")
вот хорошее введение в шаблон PO