Приветствую. Пытаюсь загрузить файл и столкнулся со следующим(листинг всего кода в файлах вставлять не буду, вставлю только используемое):
Есть файл c локаторами "locators.py":
class LocStatmentsPage(BasePage): uploadStatmentButton = (By.XPATH, "//div[@class='flex-column flex-no-shrink']//input[@type='file']")
Так же есть файл "BaseApp.py" (тут у меня действия с локаторами и ожидания)
class BasePage: def do_click(self, locator, time=10): WebDriverWait(self.driver, time).until(EC.visibility_of_element_located(locator), message=f"Не нашел куда нажать. Адрес: {locator}").click() def do_send_keys(self, locator, text, time=10): WebDriverWait(self.driver, time).until(EC.visibility_of_element_located(locator), message=f"Не нашел куда написать. Адрес: {locator}").send_keys(text)
файл statmentsPage.py с действиями на этой странице:
class StatmentsPage(BasePage): def upload_statment(self, file): return self.do_send_keys(LocStatmentsPage.uploadStatmentButton, file)
И собственно сам тест кейс пишу:
1)Все срабатывает нормально если я пишут так:
def test_load ... self.driver.find_element(By.XPATH, "//div[@class='flex-column flex-no-shrink']//input[@type='file']").send_keys("D:\\file.xlsx")
2)А вот еси я пишу так все вылетает с ошибкой не найденного локатора по истечению заданных 10 секунд ожидания:
def test_load ... self.elStatmentsPage = StatmentsPage(self.driver) self.elStatmentsPage.upload_statment("D:\\file.xlsx")
Вопрос в том почему у меня не срабатывает когда все раскидано по файлам. Не то что бы меня это сильно напрягает, но хочется разобраться. Буду рад любым подсказкам куда копать.