day15-Appium高级手势操作
Appium高级手势操作
滑动操作
scroll事件
概念
从一个元素滑动到另外一个元素,直到页面自动停止,模拟人滑动一下的操作。必须要求两个元素都在界面上可见,否则会报错。
-
orgin_el:滑动开始的元素
-
destination_el:滑动结束的元素
-
duration:滑动持续的时间,默认是600ms,时间越大滑动越慢
driver.scroll(orgin_el, destination_el, duration=600)
driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict) end = driver.find_element('xpath', '//*[@text="蓝牙"]') start = driver.find_element('xpath', '//*[@text="电池"]') driver.scroll(start, end, duration=5000)从电池元素那里开始滑动到蓝牙位置结束
scroll滑动的准确性不高
drag_and_drop事件
概念
从一个元素滑动到另一个元素,第二个元素替代第一个元素在原本屏幕上的位置。也是两个元素必须在界面上可见,否则报错。
-
orgin'_el:滑动开始的元素
-
destination_el:滑动结束的元素
driver.drag_and_drop(orgin_el, destination_el)
drag_and_drop不能设置持续时间,但滑动效果比scroll更加精确,几乎没有惯性。
基于位置坐标的滑动
概念
从一个坐标点滑动到界面的另一个坐标点,通常用于开屏动画滑动、多图片连续滑动等。
driver.swipe(x1, y1, x2, y2, duration)
-
x1, y1:第一个点的x和y坐标
-
x2, y2:第二个点的x和y坐标
-
duration:持续时间,事件越长,滑动的越慢
TouchAction
轻敲手势
长按手势
手指移动操作
TouchAction可以实现针对手势的操作,比如滑动、长按、拖动等,我们可以将这些基本手势组合成一个相对复杂的手势,比如解锁手机或者一些应用软件都有手势解锁的功能。
使用步骤:
创建TouchAction对象
通过对象调用想执行的手势
通过perform方法执行动作(所有手势必须通过perform方法来触发)
轻敲手势
ta = TouchAction(driver) ta.tap(x=121, y=340).perform()可以使用坐标点击元素,也可以使用find_element获取到元素传入
长按手势
按住press/长按long_press操作
-
el:要长按的元素
-
x:长按的x坐标
-
y:长按的y坐标(坐标和元素对象两种方式二选一)
-
duration:长按时间
TouchAction(driver).long_press(el=None, x=None, y=None, duration=1000).perform()
driver = webdriver.Remote('http://localhost:4723/wd/hub', settings_dict)ta = TouchAction(driver) ta.press(x=89, y=337).perform() ta.move_to(x=268, y=337).perform() ta.move_to(x=443, y=337).perform() ta.move_to(x=268, y=520).perform() ta.move_to(x=89, y=701).release().perform() # release松开手
总结
以上是生活随笔为你收集整理的day15-Appium高级手势操作的全部内容,希望文章能够帮你解决所遇到的问题。