appium 显示等待

1. 什么情况下需要显示等待?

 答:隐式等待只能判断目标元素是否出现在dom树里,一些属性是否加载完成是无法判断的。

   显示等待可以等待动态ajax元素,异步加载等,例如:图片视频就是异步加载

  PS:主要用于判断一些属性、js脚本等。

 

2. 显示等待用到的两个类:

 答:selenium包中的 WebDriverWait 和 expected_conditions,与Web 自动化中的显示等待是同一个方法。

   使用实例如下:

 

 1     def test_appium_inspector(self):
 2         """
 3         1、打开雪球app
 4         2、点击搜索框
 5         3、输入”阿里巴巴“
 6         4、在搜索结果中点击”阿里巴巴“
 7         5、获取这只上香港阿里巴巴的股价,并判断这只股价的价格>200
 8         """
 9         self.driver.find_element(MobileBy.ID, "com.xueqiu.android:id/tv_search").click()
10         self.driver.find_element(MobileBy.ID, "com.xueqiu.android:id/search_input_text").send_keys("阿里巴巴")
11         BK_locator = (MobileBy.XPATH, '//*[@text="BK0515"]')
12         WebDriverWait(self.driver, 10).until(expected_conditions.element_to_be_clickable(BK_locator))
13         self.driver.find_element(*BK_locator).click()
14 
15         price = float(self.driver.find_element(MobileBy.ID, 'com.xueqiu.android:id/current_price').text)
16         assert price > 200
View Code

 

 3. 实际应用场景:

 答:一般先设置隐式等待3~6s,然后再上传文件等地方设置显示等待20s以上,延长等待时间。

 

 

 

 

  

posted @ 2021-12-10 13:18  于慧妃  阅读(362)  评论(0编辑  收藏  举报