APP模拟手势的动作都被封装在TouchAction
类中,TouchAction
是AppiumDriver
的辅助类,主要针对手势操作,如滑动、按、拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。 所有手势都要通过执行函数才会运行。
提示:
我们之前学习的滑动操作,都是对TouchAction
进行的封装。
之前我们说可以自定义滑动操作,就是通过封装TouchAction
类中的方法实现的。
注意:
TouchAction
辅助类所有的方法,都不能直接执行,需要调用perfrom()
方法执行。
TouchAction
类使用前需要导入包:
from appium.webdriver.common.touch_action import TouchAction
1、手指轻敲操作(tap)
模拟手指轻敲一下屏幕操作。
方法介绍:
轻敲操作:tap(element=None, x=None, y=None)
# 发送命令到服务器执行操作
执行方法:perform()
# 调用方式
TouchAction(driver).tap(element,x,y).perform()
参数:
element
:被定位到的元素x
:相对于元素左上⻆的坐标,通常会使用元素的X轴坐标y
:通常会使用元素的Y轴坐标
参数可以传入元素,也可以传入x、y坐标。
也就是说可以在元素上进行轻敲动作,也可以在坐标上进行轻敲动作。
业务场景:
- 进入设置
- 点击“蓝牙”选项
代码实现:
"""
1.学习目标
掌握TouchAction类使用,
轻敲方法tap
2.操作步骤
2.1 导入TouchAction类
2.2 使用tap方法---手指轻敲
tap(element=None,x=None,y=None)
element 元素
x 坐标
y 坐标
使用方式:
TouchAction(driver).tap(element,x,y).perform()
3.需求
使用tap方法点击设置首页蓝牙
"""
# 1.导入appium和TouchAction
import time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
"platformName": "Android", # 系统名称
"platformVersion": "7.1.2", # 系统版本
"device