实现获取appPackage和appActivity的方法
基本介绍:
appPackage:简单来说是App开发者提供的名称。
appActivity:简单来说是App提供的各种不同的功能。每个程序都有个MainActivity,就是打开程序时显示在屏幕的活动。
appPackage和appActivity 是desired capabilities中非常重要的两个参数,在使用appium进行自动化测试时我们常常会用到这两个参数,那么如何获取这两个参数呢?
准备工作:
在我们获取appPackage和appActivity之前,有一些准备工作。
- 下载并安装androd sdk
- 设置 andorid Envirment Variables
一、使用adb shell(真机)
首先要通过USB将手机与电脑连接,注意将手机的调试模式打开,打开Android SDK的platform-tools的文件夹,在上方地址栏输入cmd,进入cmd后首先输入adb shell,出现$后输入 dumpsys activity | grep mFocusedActivity(如图)
其中红框的即为appPackage,蓝框的即为appActivity
二、使用aact(没有手机的情况下,虚拟机)
首先要通过USB将手机与电脑连接,注意将手机的调试模式打开,打开Android SDK的build-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