Appium - определение элементов, скрытых за меню гамбургера - PullRequest
0 голосов
/ 12 февраля 2019

У меня проблема с определением элементов на мобильном сайте, в настоящее время использующем Appium и Python.У меня есть меню гамбургера на сайте, и, когда по нему щелкают, отображается несколько ссылок.

Я попытался определить эти «скрытые» элементы с помощью MobileBy и ExpectedConditions (см. Ниже).Однако, когда я делаю это, я получаю сообщение о том, что объект не существует, поскольку я еще не раскрыл меню гамбургера.

Версия ExpectedCondition:

self.aboutLink = WebDriverWait(self.driver.instance, 10).until(
        EC.visibility_of_element_located((
            MobileBy.LINK_TEXT, "About")))

Версия MobileBy

self.driver.instance.find_element(MobileBy.LINK_TEXT, "About").click()

Когда речь заходит о самом тесте, он терпит неудачу, так как объект aboutLink был определен выше, и его нельзя увидеть, пока не нажмется меню гамбургера.

 @allure.step("Validate homepage links")
 def validate_links(self):

    self.hamburgerLink.click()
    time.sleep(2)
    # self.about.click()
    self.aboutLink.click()

Ребята, знаете ли вы какие-либохороший способ обойти это?Я хочу создавать многократно используемые объекты и не зависеть от предварительного нажатия меню гамбургера, чтобы иметь возможность определить эти объекты (например, ссылки, скрытые в меню).

Спасибо

...