Capability:
功能:
Capability的功能是配置Appium会话。他们告诉Appium服务器您想要自动化的平台和应用程序。
Desired Capabilities是一组设置的键值对的集合,其中键对应设置的名称,而值对应设置的值。(如:“platformName”: “Android”)
Desired Capabilities主要用于通知Appium服务器建立需要的Session。
会话Session:
Appium的客户端和服务端之间进行通信都必须在一个Session的上下文中进行。
- 客户端在发起通信的时候首先会发送一个叫作“Desired Capabilities”的JSON对象给服务器;
- 服务器收到该数据后,会创建一个session并将session的ID返回到客户端;
- 客户端可以用该session的ID发送后续的命令。
分类
公共部分、ios部分、android部分,官方文档:http://appium.io/docs/cn/writing-running-appium/caps/#android
appium.io ---- appium官网
基本使用
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '10.0'
# android或者IOS版本
desired_caps['deviceName'] = 'CE920200701002'
# devices号
desired_caps['appPackage'] = 'com.tencent.wework'
# 包名
desired_caps['autoGrantPermissions'] = True
# 获取系统权限,点击allow等
desired_caps['dontStopAppOnReset'] = True
desired_caps['appActivity'] = 'com.tencent.wework.launch.WwMainActivity'
# 进程名
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
进阶
newCommandTimeout = 300
# 执行两条用例之间的时间,相差300s以上为超时,例如:上传文件等,默认为60s
udid = “”CE9“”
# 多个设备时,devicesName无法确定设备,使用udid管理设备
autoGrantPermissions = True
# 系统权限的弹框处理
noReset 默认值是False
Android: 不停止APK
fullReset
Android: 清楚数据,卸载apk,删除缓存信息等
dontStopAppOnReset
# appium在启动apk之前会先停止apk,dontStopAppStop作用是在打开的基础上执行,不关闭apk
dontStopAppOnReset
# 直接启动apk
adb shell am start -n 进程名
dont kill 当前apk再打开
adb shell am start -S 进程名
kill 当前apk再打开
broWserName
# 浏览器名称,Safair对应IOS,Chrome、chromium、browser对应Android
提升性能
skipSeverInstallation
# 跳过服务的安装,Uiautomator sever的安装
skipDeviceInitialization
# appium会对手机进行很多的服务连接,第一次运行速度慢
# 跳过设备的初始化,比如权限等的设置等
noReset
# 保留缓存,比如登录状态等
dontStopAppOnReset
# 不停止当前页面,直接运行