zoukankan      html  css  js  c++  java
  • Appium Android 获取包名和 Activity 的几种方法 (转)

    本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP。以下方法主要来源于网络和社区同学的贡献,特此感谢!

    1. 方法一: pm list package查看包名

    adb shell pm list package -f
    

    将获取手机内所有apk对应的包名和路径

     
    adb shell pm list package -3 -f   #获取第三方apk的包
    
     

    2. 方法二:dumpsys window(本人最常用)

    先打开需要查找的apk后,再敲入以上命令

    adb shell dumpsys window w | findstr / | findstr name=
    或
    adb shell dumpsys window |findstr mCurrent
    或
    adb shell "dumpsys window w|grep /|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'"
    

    注:此处用sed 将部分字符串替换为空,格式为“sed 's/要被取代的字串/新的字串/g'”

     
     
     

    3. 方法三:logcat日志抓取LAUNCHER

    adb shell “ logcat | grep android.intent.category.LAUNCHER "
    或
    adb logcat ActivityManager:I *:s
    
     
     

    4. 方法四:dumpsys activity

    先启动需要的查找的apk,再敲入以上命令

    adb shell dumpsys activity | grep mFocusedActivity
    
     

    5. 方法五:logcat日志抓START

    C:UsersAdministrator>adb shell
    root@msm8916_32_512:/ # logcat | grep START
    

    先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager

     

    6. 方法六:aapt工具(推荐使用)

    使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
    //aapt是sdk自带的一个工具,在sdkuilds-tools目录下
    1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令

    aapt dump badging D:weixin658android1060.apk
    

    2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息

     
     

    7. 方法七:apktool反编译app后查看AndroidManifest.xml

    1.使用apktool反编译app

    java -jar D:Toolsapktool_2.2.3.jar d D:Toolsweixin658android1060.apk
    
     
     
     

    2.打开AndroidManifest.xml文件
    manifest节点的package属性值是应用的包名:

     

    查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

     

    8. 方法八:使用monkey 命令查看Activity

    adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using
    
     

    注:
    1. findstr 和 grep 查找字符串说明
    findstr:windows平台查找字符串命令, 一般格式如下:

    adb shell  xxx  | findstr xxx
    

    grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:

    adb shell  "xxx  | grep xxx"
    
     
    原文地址:https://testerhome.com/topics/9209
    感谢作者辛苦总结
  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/8543138.html
Copyright © 2011-2022 走看看