【Python3爬蟲】Appium入門教程
Appium是移動端的自動化測試工具,類似於Selenium,利用它可以驅動Android、iOS等裝置完成自動化測試,比如模擬點選、滑動、輸入等操作,其官方網站為: ofollow,noindex" target="_blank">http://appium.io/ 。
一、Appium環境搭建(針對Windows+Android)
1、安裝Node.js
進入官網下載 https://nodejs.org/en/download/ ,下載完後安裝,安裝好之後會自動配置環境變數,可在cmd中輸入node -v檢視:
2、安裝Java SDK
Java SDK的安裝很簡單,沒有安裝的可以進入 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 進行下載,安裝完之後要配置環境變數。在環境變數中選擇新建使用者變數“JAVA_HOME”,其值為jdk的路徑,然後再新建“PATH”和“CLASSPATH”,對應的值分別是“%JAVA_HOME%\bin”和“%JAVA_HOME%\lib”。新增完之後在cmd中輸入java -version檢視是否配置成功。
3、安裝Android SDK
安裝Android SDK的方法有很多,我個人推薦的是先安裝Android Studio,然後再安裝Android SDK。Android Studio 是開發 Android 應用程式的官方 IDE,基於 Intellij IDEA,你可以從官網下載最新版本的 Android Studio,也可以進入 http://www.android-studio.org/ 下載。在完成下載和安裝之後,開啟Android Studio:
因為我們只是要裝一下Android SDK,並不需要新建專案,只需要點選Configure,然後選擇SDK Manager:
然後你就可以下載各種版本的Android SDK了,自己選擇下載就好了。注意上面的Android SDK Location中的路徑,複製下來。然後配置環境變數,新建一個系統變數“ANDROID_HOME",其值就是我們剛才複製的路徑(如下圖)。除此之外,還要把這個路徑下的platform-tools和tools也新增到系統變數Path中。
4、安裝Appium
Appium分為桌面版和命令列版,桌面版的可以下載Appium desktop安裝包進行安裝,命令列版的通過Node.js來安裝。
(1)桌面版可以 進入 https://github.com/appium/appium-desktop/releases 下載,目前最新版本是1.8,如下圖:
Windows平臺可以下載exe安裝包appium-desktop-setup-1.8.2.exe,下載完成後進行安裝就可以了,開啟執行如下圖:
(2)安裝命令列版之前要確保安裝好了Node.js,安裝方式是使用npm命令:
npm install -g appium
使用上面這個命令可能會被牆掉,可以改用下面這條命令:
npm --registry http://registry.npm.taobao.org install appium -g
然後安裝appium-doctor:
npm --registry http://registry.npm.taobao.org install appium-doctor -g
二、PC連線手機
1、具體步驟
要使用Appium,先得確保PC可以和手機連線。首先開啟Appium,點選Start Server,這樣就啟動了Appium的服務。
然後用資料線連線PC和手機,把手機設定成開發者模式,不同的手機設定方法不同,具體方法請百度,然後要設定允許USB除錯。除了設定開發者模式,還要把USB連線設定為傳輸檔案(MTP)。然後開啟cmd,輸入adb devices(如下圖),出現下面這種結果就說明成功連線了。
2、可能出現的問題
(1)埠被佔用:
在cmd中輸入netstat -ano | findstr “5037”,然後記住佔用中的PID(程序id),再使用taskkill kid PID命令來關閉程序,關閉成功之後再使用adb devices命令。
(2)未安裝Android驅動:
檢視方法:進入裝置管理器,看到 adb interface有黃色感嘆號,無法識別(如下圖)。
解決辦法:進入 http://adbdriver.com/downloads/ ,然後下載ADB Driver Installer(如下圖)。
下載好之後解壓,執行ADBDriverInstaller,點選Install進行安裝(如下圖)。
安裝完畢之後重啟電腦,再開啟裝置管理器可以發現這個問題已經解決了(如下圖)。