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:\android\SDK\build-tools\28.0.3\aapt.exe” 目錄。
D:\android\SDK\build-tools\28.0.3> aapt dump badging d:\\test.apk