appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢?我这里介绍两个方法。
import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; import io.appium.java_client.android.AndroidDriver; public class appiumZhihu { public static void main(String[] args) throws MalformedURLException, InterruptedException { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "Android Emulator"); capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "6.0"); capabilities.setCapability("appPackage", "??"); capabilities.setCapability("appActivity", "??"); AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } }
方法一
首先,你要有一个APP的安装包 xxx.apk,
然后,通过这个解压工具将.apk解压。如下:
通过notepad++ 打开AndroidManifest.xml 文件,在里面搜索:manifest对应的就是appPackage。
搜索:activity对应的就是appActivity。(activity关键字很多,你要注意辨别。)
方法二
这种方法也比较简单,主要针对你没有.apk包的情况,比如Android原生自带的APP(计算器、通讯录、短信...),可以通过adb 命令。
1,打开APP。
2,执行> adb logcat>D:/log.txt
3, 胡乱的对APP做一些操作。
4, Ctrl+c 结束adb命令。
5, 打开log.txt文件,搜索:Displayed
appPackage: com.android.messaging
appActivity:.ui.conversationlist.ConversationListActivity
方法三
使用 adb 命令,首先在android手机或模拟器上打开App。输入下面的命令。
adb shell dumpsys window windows | findstr mFocusedApp
方法四
评论所提供的方法,使用aatp命令。我的aapt工具位于“D:androidSDKuild-tools28.0.3aapt.exe” 目录。
D:androidSDKuild-tools28.0.3> aapt dump badging d:\test.apk