appium常用api

会话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表示持续置于后台

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容