1、屏幕滑动:swipe
swpie()方法包含5个参数:起始点坐标(x1,y1)、终点坐标(x2,y2)、移动时长
只需要考虑坐标的位置,而不太注重屏幕的分辨率。
如何获取手机屏幕的长宽:get_window_size()
如何实现屏幕的滑动:通过长宽上的不同比例的倍数实现滑动的定位
1)左滑:driver.swipe(int(w*0.25),int(h*0.5),int(w*0.75),int(h*0.5),1000)
2)上滑:driver.swipe(int(w*0.5),int(h*0.75),int(w*0.5),int(h*0.25) ,1000)
2、多点点击:tap
tap():多点触控。
driver.tap([(398,1864),(703,1852),],3000)实现在这两个坐标,同时点击3秒钟
最多支持5个坐标的同时点击。
3、缩小和放大操作:
缩小:pinch()pinch(self, element=None, percent=200, steps=50)
放大:zoom()zoom(self, element=None, percent=200, steps=50)
percent:缩放比例,percent=200就是2倍的比率
steps是步长
如:我要对以下图片放大两倍
代码如下:
element=driver.find_elements_by_class_name('android.widget.ImageView')
sleep(3)
driver.zoom(element[5],200,50)
4、锁屏以及手势解锁:
1)
手势解锁需要导入appium的TouchAction模块
手势解锁:从一个点,点击并保持滑动到第二个点,再到第三个。。。。。。
TouchAction(driver).press(x=159,y=749).move_to(x=206,y=0).move_to(x=206,y=0).move_to(x=0,y=201).move_to(x=0,y=201).release().perform()
注:move_to(x=0,y=201)为相对坐标。
2)
锁屏:
driver.lock(3)------------------执行锁屏命令,锁屏3秒,但无实际效用。
driver.keyevent(26)------------keyevent表示执行一些手机键盘指令动作,26为电源键,此操作为点亮或者熄灭屏幕
5、拖拽操作:drag_and_drop:
原理:需要两个元素id:
id1:需要拖拽的元素位置id
id2:需要拖拽到达的最终位置id
实例:QQ的未读消息的拖拽取消
代码如下:
element1=driver.find_elements_by_id('id1')
element2=driver.find_elements_by_id('id2')
driver.drag_and_drop(element1[0],element2[0])