《实现获取appPackage和appActivity的方法》

Posted cx2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《实现获取appPackage和appActivity的方法》相关的知识,希望对你有一定的参考价值。

 

实现获取appPackage和appActivity的方法

基本介绍:

appPackage:简单来说是App开发者提供的名称。

appActivity:简单来说是App提供的各种不同的功能。每个程序都有个MainActivity,就是打开程序时显示在屏幕的活动。

appPackageappActivity 是desired capabilities中非常重要的两个参数,在使用appium进行自动化测试时我们常常会用到这两个参数,那么如何获取这两个参数呢?

准备工作:

在我们获取appPackage和appActivity之前,有一些准备工作。

  1. 下载并安装androd sdk
  2. 设置 andorid Envirment Variables

一、使用adb shell(真机)

首先要通过USB将手机与电脑连接,注意将手机的调试模式打开,打开Android SDKplatform-tools的文件夹,在上方地址栏输入cmd,进入cmd后首先输入adb shell,出现$后输入 dumpsys activity | grep mFocusedActivity(如图)

技术图片

其中红框的即为appPackage,蓝框的即为appActivity

技术图片

二、使用aact(没有手机的情况下,虚拟机)

首先要通过USB将手机与电脑连接,注意将手机的调试模式打开,打开Android SDKbuild-tools的文件夹,在上方地址栏输入cmd,进入cmd后输入aact dump badging +存放apk的地址(如图)

技术图片

三、使用adb logcat>D:/log.log:(真机)

1、需要配置好android的开发环境后,打开cmd命令窗口;

2.在命令窗口中输入,adb logcat>D:/log.log,输入D盘下

技术图片

3、运行手机上app应用程序,需要获取到app应用程序

4、然后停止运行获取手机上logcat的文件,停止是直接按Ctrl+c

技术图片

5、打开输入的日志文件:直接搜寻Displayed 

技术图片

6、通过抓取到log的日志,找到相应activity的应用程序

技术图片

四、运行“dumpsys window windows | grep -E ‘mCurrentFocus’”命令获取(真机)

1、手机解锁,用usb连接手机,或者打开android emulator。

2、启动命令行,运行  ‘adb devices’ ,这一步确保你的手机正常连接。

技术图片

3、运行‘adb shell’命令,展示如下

技术图片

4、打开你想要获取appPackage和appActivity的app

5、运行“dumpsys window windows | grep -E ‘mCurrentFocus’”命令,会展示当前焦点程序的详细信息

技术图片

五、通过apk解析程序进行解压(模拟机)

1、首先,你要有一个APP的安装包 xxx.apk,

2、然后,通过这个解压工具将.apk解压。如下:

技术图片

 3、通过notepad++ 打开AndroidManifest.xml 文件,在里面搜索:manifest对应的就是appPackage。

技术图片

4、搜索:activity对应的就是appActivity。(activity关键字很多,你要注意辨别。)

技术图片

六、通过如下命令查看:

adb shell
logcat | grep cmp=

或者:

adb logcat|find "Displayed" >d:/logs.txt

package:name 就是appPackage

launchable-activity: name 就是appActivity

以上是关于《实现获取appPackage和appActivity的方法》的主要内容,如果未能解决你的问题,请参考以下文章

获取appPackage和appActivity

appium测试之获取appPackage和appActivity

获取appPackage和appActivity(python+appium)

Appium移动自动化测试之获取appPackage和appActivity

app的deviceName,apppackage,appactivity获取

appium启动uiautomator2步骤(window系统)