appium 常用方法总结
1、appium启动任意的Activity
在手机上启动任意的Activty用driver.start_activity方法,如果启动的Activity不是测试应用程序的一部分,它也将启动该活动的应用程序。
具体的方法如下:
driver.start_activity('com.foo.app', '.MyActivity')
2、检索应用程序字符串
driver.app_strings方法返回应用程序的字符串
strings = driver.app_strings
3、向安卓设备发送一个按键事件
driver.press_keycode(3)
4、查看当前的Avtivty
activity = driver.current_activity assertEquals('.ApiDemos', activity)
5、锁定屏幕
driver.lock(5)
6、将 app 置于后台,把当前应用放到后台去
driver.background_app(5)
7、收起键盘
driver.hide_keyboard()
8、启动 Activity
在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity 。 只能在 Android 上使用
driver.start_activity('com.example.android.apis', '.Foo')
9、打开通知栏 (Notifications),打开下拉通知栏 只能在 Android 上使用
driver.open_notifications()
10、检查应用是否已经安装
driver.is_app_installed('com.example.android.apis')
11、安装应用
driver.install_app('path/to/my.apk')
12、删除应用
driver.remove_app('com.example.android.apis')
13、模拟设备摇晃
driver.shake()
14、关闭应用
driver.close_app()
15、启动 (Launch)
根据服务关键字 (desired capabilities) 启动会话 (session) 。请注意这必须在设定 autoLaunch=false 关键字时才能生效。
这不是用于启动指定的 app/activities ,你可以使用 start_activity 做到这个效果,这是用来继续进行使用了 autoLaunch=false 关键字时的初始化 (Launch) 流程的。
driver.launch_app()
16、重置 (Reset)
driver.reset()
17、可用上下文 (context)
列出所有的可用上下文
翻译备注:context可以理解为 可进入的窗口 。例如,对于原生应用,可用的context和默认context均为NATIVE_APP
driver.contexts
18、当前上下文 (context)
driver.current_context
19、切换到默认的上下文 (context)
将上下文切换到默认上下文
driver.switch_to.context(None)
20、应用的字符串 (App Strings)
获取应用的字符串
driver.app_strings
21、按键事件 (Key Event)
给设备发送一个按键事件
driver.keyevent(176)
22、触摸动作(TouchAction) / 多点触摸动作(MultiTouchAction)
生成触摸动作的接口。这部分文档很快将会补充更多的内容进来。
action = TouchAction(driver)
action.press(element=el, x=10, y=10).release().perform()
23、滑动(Swipe)
模拟用户滑动
driver.swipe(start=75, starty=500, endx=75, endy=0, duration=800)
24、捏 (Pinch)
捏屏幕 (双指往内移动来缩小屏幕)
driver.pinch(element=el)
25、放大 (Zoom)
放大屏幕 (双指往外移动来放大屏幕)
driver.zoom(element=el)
26、滑动到 (Scroll To)
滑动到某个元素。
todo: python
27、拉出文件 (Pull File)
从设备中拉出文件
driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')
28、推送文件(Push file)
推送文件到设备中去
driver.pull_file('Library/AddressBook/AddressBook.sqlitedb')