Appium-隐藏在汉堡菜单后面的定义元素

时间:2019-02-12 16:48:24

标签: python selenium appium hamburger-menu

我目前在使用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()

你们知道解决这个问题的任何好方法吗?我想创建可重用的对象,而不必事先单击汉堡包菜单即可定义这些对象(例如菜单中隐藏的链接)。

谢谢

0 个答案:

没有答案