appium服务器初始化参数
使用uiautomatorviewer定位工具
设置能力
desired_caps = {
‘appPackage‘: ‘com.example.android.contactmanager‘,
‘appActivity‘: ‘.ContactManager‘,
‘platformName‘: ‘Android‘,
‘platformVersion‘: ‘5.1.1‘,
‘deviceName‘: ‘Android Emulator‘,
‘app‘: ‘D://ContactManager.apk‘,
‘unicodeKeyboard‘:True,
‘resetKeyboard‘:True
}
driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)
能力参数项
键 | 描述 | 值 |
---|---|---|
automationName | 自动化测试的引擎 | 鸦片 |
platformName | 使用的手机操作系统 | iOS,Android或FirefoxOS |
platformVersion | 手机操作系统的版本 | 例如7.1、4.4 |
设备名称 | 使用的手机或模拟器类型 | iPhone模拟器,Android模拟器,Galaxy S4等 |
appPackage | 运行的Android应用的包名 | com.example.android.myApp,com.android.settings |
appActivity | Activity的名字是指从你的包中所要启动的Android acticity。他通常需要再前面添加. |
MainActivity ,.设置 |
应用程式 | 本地绝对路径_或_远程http URL所指向的一个安装包(.ipa,.apk或.zip文件)。如果您指定了appPackage和appActivity参数(见实例),Android则不需要此参数了。 | /abs/path/to/my.apk或http://myapp.com/app.ipa |
unicodeKeyboard | 使用Unicode输入法。默认值为false,设置为true后才能输入中文 | 对还是错 |
resetKeyboard | 在设定了unicodeKeyboard关键字的Unicode测试结束后,重置输入法到初始化状态,替换为false | 对还是错 |
noReset | 在当前会话下不会重置应用的状态。替换为false,设置为true后,不需要每次运行用例都安装apk | 对还是错 |
获取appPackage与appActivity
方法一:推荐使用aapt工具,aapt是sdk自带的一个工具,在sdk \ build-tools目录下
E:\android_sdk\build-tools\25.0.1>aapt dump badging D:\ContactManager.apk
package: name=‘com.example.android.contactmanager‘ versionCode=‘1‘ versionName=‘1.0‘ platformBuildVersionName=‘‘
sdkVersion:‘5‘
targetSdkVersion:‘5‘
...
launchable-activity: name=‘com.example.android.contactmanager.ContactManager‘ label=‘Contact Manager‘ icon=‘‘
..
通过本实例,可感知
appPackage = com.example.android.contactmanager
appActivity = com.example.android.contactmanager.ContactManager
查看当前活动名称
:APP进入到对应的窗口后,执行命令 adb shell dumpsys window w |findstr \/ |findstr name=
E:\>adb shell dumpsys window w |findstr \/ |findstr name=
mSurface=Surface(name=com.example.android.contactmanager/com.example.android.contactmanager.ContactAdder)
通过上面的结果知道,当前的活动名称为“ com.example.android.contactmanager.ContactAdder”