環境搭建起來之后, 就可以開始移動自動化了. 但是使用自帶的AVD開啟模擬器, 速度實在太慢. 於是用夜神來做替代, 稍微能夠有一些提速.
- 啟動appuim
打開Appium,點擊右上角Start按鈕

輸出如下信息, 表示啟動成功

可以提前獲取如下信息:
主機: 127.0.0.1:4723
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '23'
desired_caps['deviceName'] = 'Android Emulator'
2. 鏈接夜神模擬器
1). 首先啟動夜神模擬器
2) 進入安裝目錄, 鏈接模擬器

注意:
如果夜神模擬器的adb版本和androidsdk的adb版本不一致,需將androidsdk中platform-tools目錄下的adb.exe拷貝到模擬器的bin目錄,並修改為nox_adb.exe
3. 獲取package
在sdk/tools下面有個uiautomatorviewer.bat工具

啟動以后的樣子

左上角一共四個按鈕,作用分別是打開本地文件、dump頁面、dump壓縮格式的頁面、保存
選擇第三個按鈕的dump模式,右側展示的是樹的形式,看上去簡介了很多,方便元素的查找和查看。

除此之外頁面右側還有列表的樹形結構,點擊任意控件可在右下方顯示控件的詳細信息,樹形結構還支持搜索功能,不過搜索的是content-desc的內容。
4. 獲取apk的activity
在apk/tools目錄下有個工具hierarchyview.bat, 它可以獲取設備當前頁面的package和activity信息

其中,“com.Qunar”是對應的package,“com.mqunar.atom.hotel.ui.activity.HotelListActivity”是當前頁面的activity
備用方案一:
hierarchy view經常連不上真機或者模擬器,無法獲得activity,所以直接用 adb命令來查看當前運行的 activity
1、cmd命令中輸入:adb shell 進入shell命令模式
2、shell中輸入:logcat | grep ActivityManager 真機運行應用,可以實時 查看當前正在運行的Activity;
I/ActivityManager( 511): START u0 {act=Android.intent.action.INSERT dat=content
://com.example.notepad.provider.NotePad/notes cmp=com.example.android.notepad/.N
oteEditor} from pid 12896
cmp=com.example.android.notepad/.NoteEditor 中,
com.example.android.notepad 是包名, NoteEditor是當前活動的activity;
備用方案二:
在sdk\builds-tools\目錄下, aapt是sdk自帶的一個工具,命令行切換至該目錄下, 運行aapt dump badging ***.apk, 在結果中可以找到package和activity的名字

desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '23'
desired_caps['deviceName'] = 'Android Emulator'
