『與善仁』Appium基礎 — 6、補充:APP的包名和啟動名
目錄
1、包名(appPackage)
包名(appPackage)在Android系統中是判斷一個APP的唯一標識,不同的App可以有同樣的名字,但是它的包名不可以相同。
例如我可以自己編譯生成一個APP也叫“微信”,但是我APP的包名不能為com.tencent.mm
說到這很多人就會有疑問,如果有人惡意做了一個和微信內容一模一樣的APP,名字和包名都和微信一樣,那怎麼分辨呢?
Android中為了防止這樣,還做了一個叫簽名的東西,微信的簽名一般我們是沒有的,所以就可以通過簽名來標識出這款APP到底是誰的了,有興趣了可以瞭解下簽名,這裡就不再贅述了。
總結:
- 包名是APP的唯一標識。
- 包名不是APP名字。
下面我們就介紹幾種檢視包名的方法:
(1)看原始碼
一般我們測試的APP都是自己公司的APP,因此當有原始碼的時候,我們就可以非常容易的知道它的包名。
找到工程目錄下的AndroidManifest.xml”
這樣就可以找到package
這一項檢視即可。
(2)檢視手機系統設定
我這裡介紹谷歌原生系統,其他的一些小米、魅族等自己定製後的系統的檢視方法也大同小異。
操作步驟:
“設定” -> “應用” -> “正在執行”(這一步需要注意)-> 選擇要檢視的應用。
這個時候就能看到了,如下圖:
(3)檢視 /data/data/ 目錄
當我們安裝一款應用的時候,系統就會在 /data/data/
目錄下建一個目錄,並且檔名就是當前這個應用的包名,我們看一下手機裡這個目錄下都有些什麼檔案吧:
如果你知道你要檢視的APP包名中的一個關鍵詞的話,會更快的找到你應用的包名,否則建議使用其他方法。此方法手機需要root
(4)GT軟體
GT的介面中自帶了這個功能,從應用寶上下載GT,然後選擇一個被測應用,就可以看到了,如下圖:
2、啟動名(appActivity)
啟動名(appActivity
)也可以叫啟動頁。
簡單的來說appActivity
指的就是APP中我們看到的頁面,一個頁面就是一個appActivity
,通常第一頁啟動起來的頁面我們就稱之為 “啟動頁”。
我們在做自動化測試中,通常第一步都是啟動被測應用,而啟動的方法就是利用 “包名/啟動頁”,因此我們在測試的過程中通常需要知道這個appActivity
的名稱。
下面我就介紹幾種檢視啟動頁appActivity
的方法。
含義暫時理解為一個APP頁面就是一個啟動名或者一類頁面就是一個啟動名。
下面我們就介紹幾種檢視啟動名的方法:
(1)看原始碼
同樣在原始碼中我們可以直接找到啟動頁的Activity
的名稱。 這裡需要找工程目錄下的 AndroidManifest.xml
配置檔案嗎,檔案中包含category
的值為android.intent.category.LAUNCHER
”的appActivity
就是我們要找的:
當我們知道啟動頁appActivity
之後,就可以直接輸入命令:
adb shell am start com.bryan.testbattery/com.bryan.testbattery.activity.MainActivity
拉起應用了。
(2)Logcat軟體
關閉APP,開啟Logcat
,然後啟動你的APP,這個時候仔細看log
日誌,一般tag
為ActivityManager
的會記錄下這麼一段log
,而這裡面就記錄了啟動頁的appActivity
,如下圖:
(3)通過dump package 包名的方式
使用命令檢視後,同樣是找到包含category.LAUNCHER
字樣的appActivity
即可。
(4)Monkey
Monkey可以設定日誌的詳細程度,當我們指定為-VVV
的時候,並且指定模擬隨機事件為一次,即可檢視: