(六)Appium常用API
Appium常用API
1.点击:click()
例如:如下图,点击Albums选项卡
具体代码如下:
2.输入框输入内容:send_keys()
要用到这个方法,首先要配置,如下图:
在输入框中输入内容,具体代码如下:
注意:send_keys()不能输入中文
3.快速启动某个应用:.start_activity('包名','Activity名')
如上图:快速启动浏览器应用
4.清空输入框内容:clear()
5.滑动:swipe()
要想能方便地滑动,首先要获取屏幕的高和宽
简单解释一下:
下图是屏幕的坐标图,向上滑动屏幕就是x轴不变,y轴由大到小的变化过程
向上滑:x轴不变,y轴变
a.先获取初始位置的坐标(x1,y1)
x1=x*0.5
y1=y*0.5
b.再获取滑动的终止位置,由于向上滑动x轴不变,所以X坐标还是用x1,变得的是y坐标,由于向上滑,左右y2坐标要比y1坐标小
y2=y*0.2
c.开始向上滑动
driver.swipe(x1,y1,x1,y2,10000)
*上面的10000表示时间,滑动的时间,滑动的时间越短,滑动的速度越快
向下滑:x轴不变,y轴变
a.先获取初始位置的坐标(x1,y1)
x1=x*0.5
y1=y*0.5
b.再获取滑动的终止位置,由于向下滑动x轴不变,所以X坐标还是用x1,变得的是y坐标,由于向下滑,左右y2坐标要比y1坐标大
y2=y*0.75
c.开始向下滑动
driver.swipe(x1,y1,x1,y2,10000)
向左滑:x轴变,y轴不变
a.先获取初始位置的坐标(x1,y1)
x1=x*0.5
y1=y*0.5
b.再获取滑动的终止位置,由于向左滑动y轴不变,所以y坐标还是用y1;由于向左滑,左右x2坐标要比x1坐标小
x2=x*0.2
c.开始向左滑动
driver.swipe(x1,y1,x2,y1,10000)
向右滑:x轴变,y轴不变
a.先获取初始位置的坐标(x1,y1)
x1=x*0.5
y1=y*0.5
b.再获取滑动的终止位置,由于向右滑动y轴不变,所以y坐标还是用y1;由于向左滑,左右x2坐标要比x1坐标大
x2=x*0.75
c.开始向左滑动
driver.swipe(x1,y1,x2,y1,10000)
6.系统按键事件:.keyevent(对应的键值)
按返回键(返回键的键值为66):driver.keyevent(66)
键值表请自行百度了解
7.TouchAction方法
Appium的辅助类,主要针对手势操作,比如滑动、长按、拖动等。针对最新版本(5.0.4)已不支持swipe等方法,所以可以用TouchAction类来封装成新的swipe方法。
要使用TouchAction方法,要先导入该类:
from appium.webdriver.common.touch_action import TouchAction
短按:press
开始按压一个元素或坐标点(x,y)。通过手指按压手机屏幕的某个位置
press(WebElement el, int x, int y)
press也可以接收屏幕的坐标(x,y)
例如:TouchAction(driver).press(x=0,y=308).release().perform()
除了press()方法之外,本例中还用到了别外两个新方法
1. release() 结束的行动取消屏幕上的指针
2. Perform() 执行的操作发送到服务器的命令操作
其他方法:
press |
短按 |
tap |
点击 |
moveTo |
移动到 |
longPress |
长按 |
perform |
执行 |
wait |
等待 |
release |
释放 |