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("http://android.widget.TextView[@text='2008']")
start_el = self.driver.find_element_by_xpath("http://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是根据页面中两个元素位置距离进行滑动。
- 相关阅读
- 深山旅行社网站管理系统 v1.5
- 留言板留言板V7.0
- 支持火狐,IE6.ie7.ie8.ie9的加入收藏/设为首页代码
- 网站页面重新构写,正在验证其它浏览器
- 生成最新日期与时间选择(年月日)下拉框
- 网站提示错误页面,几秒后返回首页
- 金岸国际旅行社
- 利用fso判断文件是否存在
- 共有0条关于《python+appium自动化测试-滑动》的评论
- 发表评论
您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。
- 更多>>同类信息
- Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
- python通过代码修改pip下载源让下载库飞起
- python里面requests.post返回的res.text还有其它的吗
- windows7环境下安装配置jdk
- python对微信操作要用到这两个库wxpy与itchat
- 8种Python字符串拼接的方法,你知道几种
- 更多>>最新添加文章
- dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
- Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
- 抖音直播音挂载小雪花 懂车帝小程序
- javascript获取浏览器指纹可以用来做投票
- 火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
- 在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
- python通过代码修改pip下载源让下载库飞起
- python里面requests.post返回的res.text还有其它的吗