网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
action = TouchAction(driver) # 创建 TouchAction 对象
在坐标(10,100) 位置按下,等待100ms,滑动到 ele 元素上释放
action.press(x=10,y=100).wait(100).move_to(el=ele).release()
执行动作
action.perform()
注意: action.press(x=10,y=100).wait(100).move\_to(el=ele).release() 只是将动作存储在action 对象中,还没有执行,具体执行动作要使用 action.perform()。
#### 点击操作
在控件的中心点上点击一下
tap(WebElement el)
在(x,y)点点击一下
tap(int x, int y)
以控件el的左上角为基准,x 轴向右移动x单位,y 轴向下移动y单位,在该点上点击
tap(WebElement el, int x, int y)
#### 按下操作
#在控件上执行press操作。
press(WebElement el)
#在坐标为(x,y)的点执行press操作
press(int x, int y)
#在控件el的左上角的x坐标偏移x单位,y坐标偏移y单位的坐标上执行press操作。
press(WebElement el, int x, int y)
#### 长按操作
控件长按
longPress(WebElement el)
点长按
longPress(int x, int y)
偏移点长按
longPress(WebElement el, int x, int y)
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
![](https://img-blog.csdnimg.cn/direct/1a64a4c1440845c1ade2f2bfab8ed060.png)
#### 移动操作
#以el为目标,从另一个点移动到该目标上
moveTo(WebElement el)
#以(x,y)点为目标,从另一个点移动到该目标上
moveTo(int x, int y)
以控件el的左上角为基准,偏移(x,y)。以该点为目标,从另一个点移动到该点上。
moveTo(WebElement el, int x, int y)
#### 释放操作
release() # 释放动作,与按下和长按联合使用
#### *等待*
代表一个空操作,等待一段时间
wait()
等待ms毫秒
wait(int ms)
#### 执行 TouchAction 存储的动作
执行动作
perform()
也可以通过 driver 对象直接执行触摸操作
driver.perform(TouchAction().tap(el))
实例:九宫格解锁,九宫格坐标与解锁密码如下图
![](https://img-blog.csdnimg.cn/img_convert/f2582300072e17194050d9022d30f1ea.jpeg)
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
九宫格原点的位置,从左至右,从上至下
site = [(200, 200), (200, 400), (200, 600),
(400, 200), (400, 400), (400, 600),
(600, 200), (600, 400), (600, 600)]
pwd = ‘01246’
pwd_site = []
将密码转换为坐标位置
for s in pwd:
pwd_site.append(site[int(s)])
driver = webdriver.Remote()
action = TouchAction(driver)
在起始点按下
action.press(pwd_site[0]).wait(200)
按照坐标点移动
for i in range(1, len(pwd_site)):
action.move_to(pwd_site[i]).wait(200)
释放
action.release()
执行动作
action.perform()
### 多点触控(MultiTouch)
![img](https://img-blog.csdnimg.cn/img_convert/f401f6ed5b0677d0dfa2b33b255d8783.png)
![img](https://img-blog.csdnimg.cn/img_convert/81e77147c3e94adb420d812fb9b0dbc8.png)
![img](https://img-blog.csdnimg.cn/img_convert/2c64a0402d3a248cc2fd99fd02ac1fcc.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**