首先从appium库里面导入webdriver,然后webdriver.Remote()声明driver对象。
想要使用TouchAction,必须要创建TouchAction对象,通过对象调用想要执行的手势,通过perform()执行动作。
1
2
|
#导入TouchAction from appium.webdriver.common.touch_action import TouchAction |
1、最常见的点击方式click()方法
1
|
driver.find_element_by_id( "com.android.settings:id/search" ).click() |
2、手指轻敲屏幕操作tap()方法
tap(element,x,y)可以通过元素定位的方式敲击,也可以通过元素坐标的方式。
1
2
3
4
5
6
|
# 通过元素定位方式敲击屏幕 el = driver.find_element_by_xpath( "//*[contains(@text,'WLAN')]" ) TouchAction(driver).tap(el).perform() #perform()方法发送命令到服务器执行操作 # 通过坐标方式敲击屏幕,元素坐标:x=149,y=324 TouchAction(driver).tap(x = 149 ,y = 324 ).perform() |
3、手指按下操作press()方法
press(elemnet,x,y)可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。
release()方法为结束动作,手指按下之后离开屏幕。
1
2
3
4
5
|
# 通过元素定位方式按下屏幕 el = driver.find_element_by_xpath( "//*[contains(@text,'WLAN')]" ) TouchAction(driver).press(el).release().perform() #通过坐标的方式,元素坐标x=149,y=324 TouchAction(driver).press( 147 , 324 ).release().perform() |
4、模拟手指长按操作long_press()方法
长按相对于按下来说增加了按下的时间长短,所以参数多了一个duration单位是毫秒。
long_press(elemnet,x,y,duration)也是可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。
1
2
3
4
5
6
7
8
|
el = driver.find_element_by_id( "android:id/title" ) # 通过元素定位方式长按元素 TouchAction(driver).long_press(el,duration = 5000 ).release().perform() # 通过坐标方式长按元素,WiredSSID坐标:x=770,y=667 #wait(5000)等待五秒 # 添加等待(有长按X效果)/不添加等待(无长按效果) TouchAction(driver).long_press(x = 770 ,y = 667 ,duration = 5000 ).release().perform() |
到此这篇关于appium中常见的几种点击方式的文章就介绍到这了,更多相关appium 点击方式内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/haobashenmegui/article/details/103992795