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是根据页面中两个元素位置距离进行滑动。
- 相关阅读
- CSS光标属性一览表
- 微信公众号回复图片消息或用客服接口推送图片消息
- 绿色乡村留言板模板
- chrome谷歌浏览器中的谷歌翻译有问题一键修复处理
- 旅行社网站模板默认风格10
- 汽车租赁系统
- 26件网站推广网页优化必须的事情
- asp正则表达式 替换HTML源文件里的链接地址
- 共有0条关于《python+appium自动化测试-滑动》的评论
- 发表评论
您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。
- 更多>>同类信息
- windows7环境下安装配置jdk
- python对微信操作要用到这两个库wxpy与itchat
- 8种Python字符串拼接的方法,你知道几种
- Python拼接字符串的几种方式
- Python pandas删除指定行/列数据的方法实例
- 让你的Pycharm和电脑pip install下载速度飞起来