Android Settings
Application :用来获取测试 app 的配置信息,如图
General Settings
appium 连接模拟器和手机
appium 连接模拟器
第一步:启动模拟器
第二步:appium 客户端连接:设置启动参数然后连接
appium 命令连接:cmd 下使用 appium 命令,出现如下图表示连接成功
appium 连接真机
第一步:打开手机的 USB 调试模式
不同的手机打开调试模式的方式不同。一般都在设置中的开发者模式中打开
第二步:手机连接电脑
使用数据线连接手机与电脑,然后在 cmd 中输入 adb devices 查看是否连接成功
第三步:启动 appium 服务
在 cmd 命令中输入:appium (也可以使用客户端启动)
Desired Capabilities 详解
Desired Capabilities 在启动 session 的时候是必须提供的。
Desired Capabilities 本质上是 key value 的对象,它告诉 appium server 这样一些事情:
本次测试是启动浏览器还是启动移动设备?
是启动 andorid 还是启动 ios?
启动 android 时,app 的 package 是什么?
启动 android 时,app 的 activity 是什么?
通用配置:
automationName:使用哪种自动化引擎。appium(默认)还是 Selendroid?
platformName:使用哪种移动平台。iOS, Android, orFirefoxOS?
deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc...
app:应用的绝对路径,注意一定是绝对路径。 如果指定了 appPackage 和 appActivity 的话,这个属性是可以不设置的。另外这个属性和 browserName 属性是冲突的 。
browserName:移动浏览器的名称。比如 Safari' for iOS and 'Chrome', 'Chromium', or 'Browser' for Android; 与 app 属性互斥。
udid: 物理机的 id。比如 1ae203187fc012g。
android 平台特定配置
appPackage:待测试的 app 的 java package。比如 com.example.android.myApp, com.android.settings。appActivity:
待测试的 app 的 Activity 名字。比如 MainActivity, .Settings。注意,原生 app 的话要在 activity 前加个"."。
注意: 对于有些应用中文输入会出现问题 Desired Capabilities 增加如下设置
desired_caps["unicodeKeyboard"] = "True" # 使用 unicodeKeyboard 的编码方式来发送字符串
desired_caps["resetKeyboard"] = "True" # 将键盘给隐藏起来