安裝Android SDK以及模擬器
由於Appium依賴於Android SDK,所以需要先安裝SDK。
這裡由於需要在Android模擬器上跑測試用例,所以同時需要安裝Android 模擬器。
1.安裝JDK
安裝原因:Android是以Java語言為基礎的,第2步安裝的android SDK需要JDK支援。
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html
下載之後一路next就好。
環境變數設定:設定JAVA_HOME為JDK安裝目錄。並把 “%JAVA_HOME%\bin;”加入到環境變數Path中。
驗證是否安裝成功: java -version
C:\Users\hello>java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b18, mixed mode)
2.安裝android SDK
安裝原因:Appium 需要 Android SDK 支援,同時第3步需要通過SDK工具來下載Android版本
下載地址:http://tools.android-studio.org/index.php/sdk/
下載之後解壓即可。
環境變數設定:設定ANDROID_HOME 系統變數為 Android SDK 安裝路徑,並把tools和platform-tools兩個目錄加入到系統的 Path路徑裡。
變數: ANDROID_HOME
值: D:\android-sdk_r23.0.2-windows\android-sdk-windows
設定: Path
值: %ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
這裡SDK準備好之後,我們可以在安裝路徑下看到SDK Manager.exe和 AVD Manager.exe 。
3. 下載Android 版本
安裝原因:第4步新建Android 模擬器需要相應的Android 版本
在SDK安裝路徑下找到 SDK Manager.exe ,雙擊啟動。
啟動之後,找到Tools -> Options ,設定代理並且勾選中“Force https://.........”。不然下載不了。
點選Close關閉,可以看到Packages會自動更新,顯示所有Android版本。選中我們想要的Android版本,比如我選中的是 Android 4.2.2,點選Install ,按照提示進行安裝即可。
4. 新建Android 模擬器
安裝原因:測試沒有真機,需要在模擬器上跑測試用例指令碼。
在SDK安裝路徑下找到 AVD Manager.exe ,雙擊啟動。
啟動之後,點選Create按鈕,我的模擬器配置如下:
AVD Name:這個隨便填,方便自己進行區分即可。
Device:選擇裝置型號
Target:由於我們只下載了 Android 4.2.2,所以這裡就選擇這個版本
新建之後選中模擬器並點選Start即可啟動模擬器。這裡啟動會需要很長時間。
安裝Appium服務端
1.安裝nodejs
安裝原因:第2步安裝的appium是用nodejs寫的,所以需要安裝 nodejs。
下載地址: http://nodejs.org/download/
下載之後安裝,一路next就好。
開啟命令列cmd,驗證是否安裝成功:
C:\Users\hello>node -v
v6.2.0
安裝路徑下不僅可以看到有node.exe,還有npm。npm是node的包管理工具。
開啟命令列工具cmd,驗證npm是否可以使用:
C:\Users\hello>npm -v
3.8.9
2.安裝Appium
可以線上安裝,也可以下載包解壓使用。本人首先採用的是線上安裝,太慢沒成功,之後採用的百度網盤下載安裝。
1)線上安裝。
使用npm安裝appium。
npm install -g appium
下載過程會很慢。
2)直接下載Appium。
官方下載地址:https://bitbucket.org/appium/appium.app/downloads/
百度網盤下載地址:http://pan.baidu.com/s/1jGvAISu
下載之後一直next安裝。我的裝在 D:\appium\Appium
環境變數設定:將 D:\appium\Appium\node_modules\.bin 加入環境變數。
驗證是否安裝成功:appium-doctor
C:\Users\hello>appium-doctor Running Android Checks ✔ ANDROID_HOME is set to "D:\android-sdk_r23.0.2-windows\android-sdk-windows" ✔ JAVA_HOME is set to "D:\java\jdk." ✔ ADB exists at D:\android-sdk_r23.0.2-windows\android-sdk-windows\platform-tools\adb.exe ✔ Android exists at D:\android-sdk_r23.0.2-windows\android-sdk-windows\tools\android.bat ✔ Emulator exists at D:\android-sdk_r23.0.2-windows\android-sdk-windows\tools\emulator.exe ✔ Android Checks were successful. ✔ All Checks were successful
搭建Appium執行客戶端
1. 安裝Python
安裝原因:我們測試用例指令碼打算用Python 編寫,所以需要安裝Python。
下載地址:https://www.python.org/downloads/
下載之後像正常的exe那樣安裝就可以。
環境變數設定:將Python安裝路徑以及安裝路徑下的Scripts路徑加入Path,我的就是“D:\Python3;D:\Python3\Scripts;”。
驗證是否安裝成功:
C:\Users\hello>python -V
Python 3.4.4
2. 安裝 Appium-Python-Client
安裝原因:安裝這個之後,我們才可以使用 appium 包來操作。
安裝方法:開啟命令工具cmd,輸入 “pip install Appium-Python-Client”即可。
最後看到“Successfully installed Appium-Python-Client ......” 說明安裝成功。
也可以開啟python命令列,可以看到 import appium 沒有報錯,說明安裝成功。
C:\Users\hello>python Python 3.4.4 (xxxxxx)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import appium >>>
開始測試
1. 通過AVD Manager.exe 啟動Android 模擬器
2. 啟動Appium
找到Appium安裝路徑,雙擊 Appium.exe 即可啟動。
啟動之後,點選安卓機器人按鈕,設定Capabilities如下:
然後點選右上角的 三角形按鈕啟動 Node Server 。
可以看到類似如下log列印出來。其中 server args 就是我們上面配置的,比如 platformName等等。
> Starting Node Server > info: Welcome to Appium v1.4.0 (REV xxxxxx) > info: Appium REST http interface listener started on 127.0.0.1:4723 > info: [debug] Non-default server args: {"address":"127.0.0.1","logNoColors":true,"platformName":"Android","platformVersion":"17","automationName":"Appium"} > info: Console LogLevel: debug
3. 編寫python測試用例指令碼
開啟eclipse,新建一個python專案,然後新建指令碼如下:
from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.2.2' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage'] = 'com.android.contacts' desired_caps['appActivity'] = 'com.android.contacts.activities.PeopleActivity' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) driver.find_element_by_name("Create a new contact").click() driver.find_element_by_name("Add account").click() textfields = driver.find_elements_by_class_name("android.widget.EditText") textfields[0].send_keys("hhhhh@qq.com") textfields[1].send_keys("111111111") driver.find_element_by_name("Next").click() driver.quit()
這裡就是開啟通訊錄,新建賬戶時輸入郵箱和密碼。
4. 執行指令碼
右鍵點選指令碼 -> Run As -> Python Run ,即可看到Android 模擬器開始跑測試指令碼。跑的會很慢。