python+appium自动化测试-滑动
一、scroll()方法
Appium 中webdriver提供scroll()方法来滚动页面,该方法只适用于屏幕上已经显示的两个元素,从一个元素滚动到另一个元素。若元素不存在当前屏幕或被遮挡,则无法使用该方法。
方法介绍:
scroll(self, start_el, stop_el, duration=None):
参数:
- start_el- 开始要滚动的元素
- stop_el- 要滚动到的元素
- 即从元素stop_el滚动至元素start_el
- duration 即滚动的持续时间
具体代码如下
def scroll():
stop_el = self.driver.find_element_by_xpath("//android.widget.TextView[@text='2008']")
start_el = self.driver.find_element_by_xpath("//android.widget.TextView[@text='2012']")
self.driver.scroll(start_el, stop_el)
二、UiScrollable()方法
UiScrollable是UiCollection的子类,专门处理滚动时间,提供各种滚动方法,下面只介绍了滚动到固定的对象。
相关概念:
步长:从一点到另一点使用的时间。步长越短滚动越快,反之步长越长滚动越慢。
扫动次数:触发滚动的次数。
上栗子:使用上一个方法scroll()的栗子图片,实现从“2008”滑动到“2012”。
def test():
self.driver.find_element_by_android_uiautomator(
'new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("2012")).scrollToEnd(10,5)')
# text("2012"):表示需要滑动的位置
# scrollToEnd(10,5):以步长(速率)5滚动到列表底部,最多滚动10次。
注意:该方法会直接滑动到列表最底部或最顶部,在中间时比较不好判断,如果列表的数据比较长的话,建议不使用哦。评论区有没有哪位大神,有好的方法来解决这个局限性,感谢!!
三、swipe()方法
使用循环实现,具体实现方法为:
写一个循环,循环中再做判断
若查找到元素,则执行点击
若未查找到元素,则做上滑操作,向上滑动列表
若向上滑到列表最底部仍然未查找到数据,则判断当前是否处于列表最底部
当前处于列表最底部,则做下滑操作,向下滑动列表
注意:scroll() 与swipe()的区别,swipe是可以根据自己需要设置滑动的距离,而scroll是根据页面中两个元素位置距离进行滑动。
- 相关阅读
- 19寸宽屏旅行社网站默认模板
- 发布重大事件说明
- 移动层,并且保存各个层的位置,可以方便的制作成为一个动态的页面
- 重新设定目标与学习方法,好记忆不如烂笔头
- js中innerHTML,innerText,outerHTML的用法与区别
- 经典表格隔行变色程序
- ASP 格式化显示时间为几个月,几天前,几小时前,几分钟前,或几秒前
- 旅行社管理系统商业版4.0发布
- 共有0条关于《python+appium自动化测试-滑动》的评论
- 发表评论
您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。
- 更多>>同类信息
- python通过代码修改pip下载源让下载库飞起
- python里面requests.post返回的res.text还有其它的吗
- windows7环境下安装配置jdk
- python对微信操作要用到这两个库wxpy与itchat
- 8种Python字符串拼接的方法,你知道几种
- Python拼接字符串的几种方式