ADB软件自动化测试底层学习(2)-应用管理

应用管理包括:安装、卸载、查看应用等等

Andriod 应用的概念
package-包:是Android应用的唯一标志(如微信的包是com.tencent.mm)
Activity-活动页:Android应用页面,一个页面就是一个Activity (一个Activity就有其自身的生命周期,有绑定的功能按键等等)

应用管理

1.安装--install

命令格式:
adb install [-lrtsdg] <path of apk>

参数 意义
-l 将应用安装到保护目录 /mnt/asec
-r 允许覆盖安装
-t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限

例如:设备已有微信(旧版),现需要下载新版微信,则可以如下面:
adb install -r -g D:\APK\weixin8021android2120_arm64_1.apk
输出结果:

Performing Streamed Install
Success

2.卸载--uninstall

命令格式
adb uninstall [-k] <packagename>

其中[-k]为可选参数,用于删除软件但保留数据及缓存数据
packagename 包名,用于删除软件(com.tencent.mm)

例如:删除微信但保留数据

adb uninstall -k com.tencent.mm

3.页面名

打开一个软件中其中一个页面,通过命令可以获取当前页面的页面名和包名

1.获取当前页面名
命令:

adb shell dumpsys window | grep mCurrentFoucs

输出结果:

OnePlus7:/ $ dumpsys window | grep mCurrentFocus
  mCurrentFocus=Window{572bb2a u0 com.google.android.youtube/com.google.android.apps.youtube.app.watchwhile.WatchWhileActivity}

输出的结果是以mCurrentFocus=Window{xxxxxx xx <packagesName>/<ActivityName>}
在上面中

  • packageName : com.google.android.youtube----包名(Youtube的独一无二的包名)
  • ActivityName: com.google.android.apps.youtube.app.watchwhile.WatchWhileActivity(Youtueb App内的一个页面--搜索)

2.直接打开特定页面
命令:
adb shell am start -n <packagesNumber>/<ActivityName>

posted @ 2022-04-21 22:33  Mr_Ethic  阅读(311)  评论(0)    收藏  举报