Size: a a a

testing_in_python

2021 May 17

ST

Sergey Tomashov in testing_in_python
возможно странное решение, но на первых парах ничего особенного не ребуется и это по крайней мере работает)
источник

EB

Evgenii B in testing_in_python
я бы предложил пока вы не знаете инструмент, начать дебажить вот так:

1)
убираете desired_capabilities как фикстуру. внесите лучше захардкоженный кусок сразу в фикстуру драйвера. Таким образом не придется думать, а как отработает yield в фикстуре, которая вызывается другой фикстурой.

2) любой код взаимодействия со страницей замените на
driver.get(some_url) и time.sleep() чтобы подтвердить что capabilities кусок корректно запускает браузер.

3) когда все работает, добавляете логику работы на странице шаг за шагом. Возможно, нужно будет найти другой локатор, или ждать больше времени, прежде чем он появится на экране.

4) когда работает тест, тогда возвращаетесь к desired_capabilities и yield'ам
источник

ST

Sergey Tomashov in testing_in_python
спасибо, так и делал. уже все что выше работает без фикстур - просто решил переписать
источник

ST

Sergey Tomashov in testing_in_python
с фикстурой прогоняет на первом девайсе, потом выдает fixture function has more than one 'yield':
источник
2021 May 19

ST

Sergey Tomashov in testing_in_python
привет, подскажите в чем ошибка
источник

ST

Sergey Tomashov in testing_in_python
аппиум, menu_button = driver.find_element(By.ID, 'open_menu') - работает

MENU_BUTTON = (By.ID, 'open_menu')
menu_button = driver.find_element(locator.MENU_BUTTON) - выдает  Message: Locator Strategy 'id,open_menu' is not supported for this session
источник

IS

Idi Suda in testing_in_python
Надо делать find_element(*MENU_BUTTON)
источник

IS

Idi Suda in testing_in_python
источник

ST

Sergey Tomashov in testing_in_python
проблема не в этом как оказалось, нужно юзать By из appiuma,  импортировал из селениума
источник

ST

Sergey Tomashov in testing_in_python
from appium.webdriver.common.mobileby import By
источник

ТЭ

Тачами Экстович... in testing_in_python
а покажи код который заработал
источник

ТЭ

Тачами Экстович... in testing_in_python
Непонятно, find_elemnent что ли и тюпл, и по отдельности жрет, или там *arg
источник

ТЭ

Тачами Экстович... in testing_in_python
def find_element(self, by=By.ID, value=None):
   return self._dispatch("find", (by, value, self._driver), "find_element", (by, value))


не может это работать, если ты тюпл передал
источник

ТЭ

Тачами Экстович... in testing_in_python
Ну, это не поиск сам, но сигнатура такая же будет
источник

ST

Sergey Tomashov in testing_in_python
да, работает только try_on = WebDriverWait(driver, 60).until(
   EC.visibility_of_element_located((locators.TRY_ON))
)
источник

ST

Sergey Tomashov in testing_in_python
не работает по прежнему driver.find_element(locators.MENU_BUTTON)
источник

IS

Idi Suda in testing_in_python
Я тебе написал как делать, лол
источник

ST

Sergey Tomashov in testing_in_python
спасибо, понял - те таким образом? elements = driver.find_elements(*locators.SNEAKERS)
источник

IS

Idi Suda in testing_in_python
Ага
источник

ST

Sergey Tomashov in testing_in_python
думаю еще написать обертку что бы не париться в будущем
def find_element_unused(driver, locator: tuple, time=60):
   return WebDriverWait(driver, time).until(
       EC.visibility_of_element_located(locator),
       message=f'Cant find element {locator}'
   )
источник