t.me/atinfo_chat Telegram группа по автоматизации тестирования

Является ли общепринятой практикой создавать generic method для нахождения элемента?

Теги: #<Tag:0x00007f74867dbea8> #<Tag:0x00007f74867dbd68> #<Tag:0x00007f74867dbc28> #<Tag:0x00007f74867dbb10>

Смотрю обучающий курс по Selenium Webdriver на Udemy. Автор курса, в частности, создает generic method который является оберткой для findElement и принимает на входе локатор и тип локатора и на выходе выдает найденный элемент.
Я для себя не увидел больших преимуществ такого метода перед использованием findElement, но, возможно, я просто чего-то не знаю. Кто-то тоже так делает? Это общепринятая практика?

Мне кажется, вам как не крути придется методы “из коробки” как-то оборачивать, ибо сами по себе они мало что дают. Можно например так обернуть и словить кучу плюсов от этого метода:

from selenium.webdriver.support.ui import WebDriverWait as WDWait
from selenium.webdriver.support import expected_conditions as EC

    def wait_and_get_element(self, element_name, timeout=15, loc_type='xpath', by_locator=False):
        if not by_locator:
            locator = self.locators[element_name]
        else:
            locator = element_name
        WDWait(self.driver, timeout).until(
            EC.presence_of_element_located((loc_type, locator))
        )
        return self.driver.find_element(loc_type, locator)
1 Симпатия