appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote

各参数

 

 

 

 

----------------------------------------------------------------------------------------------

 --------------------------------------------------------------------------------------------

 

1
adb shell getprop ro.build.version.release  # 获取PlatformVersion
1
adb devices -# 获取deviceName
1
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

1
2
3
4
"noReset": "true", // 不清空缓存信息
"dontStopAppOnReset": "true", // 首次启动的时候,不停止app
"skipDeviceInitialization": "true", // 跳过安装,权限设置等操作
"unicodeKeyBoard": "true" // 输入中文

  

其他获取方法:

appPackage 可以通过uiautomator获取

 

图中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

 

如果没有结果,第二行试着用

1
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即可

 

posted @   yimu-yimu  阅读(9629)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示