有时候在 appium 的 Desired Capabilities 中需要指定被测 app 的 appActivity,下面的方法可能会对你有所帮助。
如有你有待测项目的源码,那么直接查看源码就好。如果没有,那么请联系有源码的同学,这是推荐方法。
如果你没有代码,那么可以反编译该 app。
这里将用到 2 个工具,分别是 dex2jar 和 jd-gui。你可以在这里下载目前为止的最新版本以及示例 apk。
我们以工具包里的 ContactManager.apk 为例,简单介绍一下反编译的流程。
1,重命名 ContactManager.apk 为 ContactManager.zip 并解压得到文件 classes.dex;
2,解压 dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;
3,运行命令
d2j-dex2jar.bat path_to\classes.dex 在当前文件夹下得到 classes-dex2jar.jar;
4,解压 jd-gui-0.3.6.windows.zip 得到文件 jd-gui.exe;
5,使用 jd-gui.exe 打开 classes-dex2jar.jar;
上图所示的 ContactManager 就是待测 app 的 main activity。
使用 log 查看大法 (嗯,windows 上没 grep 不幸福,好在有 powershell 的 Select-String,可以拿来勉强一用),直接搬砖。
a、启动待测 apk
b、开启日志输出:adb logcat>D:/log.txt
c、关闭日志输出:ctrl+c
d、查看日志
找寻:
Displayed com.mm.android.hsy/.ui.LoginActivity: +3s859ms
appPackage = com.mm.android.hsy
appActivity = .ui.LoginActivity