appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote
----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
adb shell getprop ro.build.version.release # 获取PlatformVersion
adb devices -l # 获取deviceName
adb shell dumpsys activity | findstr "mResume" # 获取appPackage和appActivity
第一个命令结果是12,即Android系统版本(platformVersion)是12
第二个命令查看设备的详细信息,JAD-AL50 是设备名(deviceName)
第三个命令可以找到你当前手机正在打开的应用信息,也就是说你要测什么app就提前打开这个app,然后通过第三个命令获取这个app的信息,后面appium连接的时候就会打开这个app。
我打开的是”今日头条“,所以,
com.ss.android.article.news 就是对应的appPackage
.activity.MainActivity 就是对应的appActivity
------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
如果开发有给apk,那么可以在电脑上获得appPackage和appActivity
其他参数noReset、dontStopAppOnReset、skipDeviceInitialization、unicodeKeyBoard
"noReset": "true", // 不清空缓存信息 "dontStopAppOnReset": "true", // 首次启动的时候,不停止app "skipDeviceInitialization": "true", // 跳过安装,权限设置等操作 "unicodeKeyBoard": "true" // 输入中文
其他获取方法:
appPackage 可以通过uiautomator获取
![](https://img2020.cnblogs.com/blog/1430396/202103/1430396-20210301152312070-578866343.png)
图中1的获取--'platformName'、'platformVersion'(也可以直接通过真机或模拟机查看)
点击appium右上角的运行按钮,可通过上面查看platformName 和 platformVersion
平台版本这边填写的是API的版本,用最新版的 AppiumDesktop运行时一直报下面的错误:
An unknown server-side error occurred while processing the command. Original error: Unable to find an active device or emulator with OS 23. The following are available: M************O (5.1.1)
这时候将平台版本改为“5.1.1”后再次运行,结果正常.
图中2的获取--appActivity
优先:更多查看
adb shell
dumpsys activity|grep mFocusedActivity
如果没有结果,第二行试着用
dumpsys activity|grep mFocusedWindow
可以同时获取到appPackage和appActivity
斜杠前面是appPackage:com.ss.android.article.news
斜杠后面是appActivity : com.ss.android.article.news.activity.MainActivity
法一:
Cmd-->adb shell-->dumpsys package <包名>
法二:
adb shell
monkey -p 包名 -v -v -v 1
获取到的日志中cmp={}的就是启动activity
法三:
appPackage和appActivity的获取
“adb shell dumpsys window w |findstr \/ |findstr name=” 命令获取(需要提前将APP在手机上打开)
但是通过验证,上面方式获取到的appActivity,运行时启动页activity会报错(目前不知道该问题出在哪里)
法四:
Cmd-->adb shell-->dumpsys window windows | grep -E ‘mCurrentFocus
但是通过验证,上面方式获取到的appActivity,运行时启动页activity会报错(目前不知道该问题出在哪里)
注意:cmd terminal的查找命令在linux和mac操作系统中对应关键字时grep,在Windows操作系统中对应关键字是 findstr
图中3的获取--deviceName
adb devices即可
图中4的获取--webdriver.Remote
远程控制,通过appium可设置;若是真机,直接填写http://localhost:4723/wd/hub 或者http://127.0.0.1:4723/wd/hub即可