会话api
1.启动会话
2.关闭会话 driver.quit()
状态api
得到当前正在运行的activity current_activity
可以使用此api在某些场景进行断言:是否当前的activity符合预期
page_source
得到当前页面的结构图,可用于判断当前页面是否有某个元素,或者判断当前页面有没有产生变化,如上下滚动判断是否已经到了底端/顶端
Capabilities
得到当前的deviceName配置信息,可以通过该方法得到其余的配置,如platformVersion,apppackage等
其他信息获取类APi
device_time 获取设备时间信息
安装卸载启动api
reset() 重置应用数据,
Start——activity() 开启某个activity 实现跳转
Is_app_installed()
检测某个app是否安装,返回true/false,Android是包名,ios是bundleid
Install_app() 安装app
close_app() 关闭app,tearDown中去调用
元素操作APi
get_attribute() 得到class属性
clear() 清除输入框的数据,对其他类型的元素没有影响
swipe() 通过传递坐标信息即可完成滑动
swipe(startx,starty,endx,endy,duration)#duration是从起始点滑到终点的时间
zoom()&pinch()
zoom:放大,pinch:缩小
默认放大或缩小一倍,参数percent表示放大或缩小的倍数,默认200
zoom(x,y)方法其实是由两个MultiTouchAction实现的,首先根据你传入的坐标点确定偏移量,然后创建两个action分别反向移动,同时释放。pinch同zoom相反
TouchAction类--模拟触屏
将一系列的动作放在一个链条中,然后将该链条传递给服务器,服务器接收到该链条后,解析各个动作,逐个执行
短按 press
开始按压一个元素或坐标点(x,y)。通过手指按压手机屏幕的某个位置。
press(WebElement el, int x, int y)可以是一个元素或者坐标(元素内部)
长按 longPress
点击 tap
移动到 move_to x,y为相对上一个坐标的移动距离,可以是一个元素或者坐标(元素内部)
等待 wait
释放 release
执行 perform 操作完了之后必须加上这个方法
取消 cancel
多点触控 multiaction 对象是触摸操作的集合
add用于将不同的触摸操作添加到当前的多点触控中
perform 当perform执行时被添加到多点触控的所有触摸操作都会发送给appium被依次执行
拉取/推送文件
拉取文件 pull
从设备上拉取文件
driver.pull_file('xx')
推送文件 push
推送文件到设备
data='xx'
path='xx'
driver.push_file(path.data.encode('base64'))
锁定屏幕一定时间 lock(seconds)-仅支持ios
打开通知栏/摇一摇
打开通知栏:
driver.open_notifications(),仅Android
摇一摇:
模拟摇晃设备操作,driver.shake()
presskeycode,Android特有:driver.presskeycode()
电话键,如果sendkeys失效了可以试试
控制键
上下文切换:
可用的上下文(contexts)
列出所有可用的上下文(contexts)
driver.contexts
当前上下文(context):列出当前上下文(context)
driver.current_context
切换至默认的上下文(context)
切换回默认的上下文(context).(一般就是原生上下文‘NATIVE_APP’)
driver.switch.to.context(None)
当前Activity:获取当前的activity,仅支持Android
driver.current_activity
当前包名(package):获取当前包名(package)。仅支持Android
driver.current_package
tap()
tap和click比较:对于只有一只finger操作和click行为相同,如果超过一只finger那就不同
并且tap可以模拟双击事件,click点击的时候是点击控件的中心坐标:
positions:点击的坐标,多个手指则将多个坐标存储在列表中
duration:点击的时间间隔
其他api
pressKeyCode()可以通过脚本发送按下电源键和其他事件
get_screenshot_as_file()
如果测试用例执行失败,可以通过此方法获取运行失败的错误截图
backgroup_app
将当前应用切换到后台,然后可以让其在指定时间回到前台,或者一直在后台
传递给这个方法的参数有两种类型:
一个整型(秒):表示后台状态维持多久,-1表示持续置于后台
一个看起来像{'timeout':secs}的对象,里面的secs是含义与第一个类型的秒一样,可以为null表示持续置于后台
appium常用api
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家。 1.contex...
- 1.contexts contexts(self): Returns the contexts within th...