Android Appium:在声明测试失败之前先测试多个条件

时间:2016-10-28 19:01:50

标签: android testing appium ads

场景:我有不同类型的广告。可以单击一个按钮,可以在整个广告上单击其他按钮。 我必须测试广告何时到来,通过点击按钮进行第一次测试,如果不起作用,请点击其他类型。在appium中,在第一个if条件中,如果找不到元素,它将无法通过测试。       如何在声明失败之前测试多个条件。

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。在Python中,我会选择类似的东西:

    locators = ['.someClass', '#someID']
    for locator in locators:
        el = self.driver.find_elements_by_css_selector(locator)
        if len(el) == 1:
            break
        elif len(el) == 0:
            el = None
        else:
            self.fail('multiple elements: %s found: %d' % locator, len(el))
    self.assertIsNotNone(el, '> 1 matches found on page: %s' % locator)
    el.click()

基本上如果在页面上找不到定位器,那么我们将el设置为None并尝试另一个定位器。 如果找到定位器(在您的情况下,比如说按钮),则找到方法中断。如果定位器找到> 1,然后它失败了。 您必须为此函数定义唯一的定位器才能工作。