搭建環(huán)境
安裝Nodejs
- 點(diǎn)這里在官網(wǎng)下載nodejs安裝包
- 安裝nodejs
- 驗(yàn)證安裝是否成功:打開(kāi)cmd,輸入
npm
安裝Appium
- 點(diǎn)這里下載AppiumForWindows安裝包。
- 解壓并安裝Appium
- 安裝Appium時(shí),可能會(huì)提示缺少
.net framework,建議在微軟官網(wǎng)上安裝對(duì)應(yīng)的或者最新的.net framework
- 設(shè)置Appium環(huán)境變量
- 在系統(tǒng)變量
path中,加入值:;your\appium\path\node_modules\.bin
- 啟動(dòng)Appium,確認(rèn)是否能正常啟動(dòng)。
安裝java環(huán)境
- 點(diǎn)這里在官網(wǎng)下載JDK的安裝包。
- 安裝JDK,注意記錄jdk的安裝目錄,下面設(shè)置環(huán)境變量需要。
- 設(shè)置java環(huán)境變量
- 新建系統(tǒng)變量:
JAVA_HOME,對(duì)應(yīng)的值為:your\jdk\setup\path - 新建系統(tǒng)變量:
CALSS_PATH,對(duì)應(yīng)的值為:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; - 在系統(tǒng)變量
path中,加入值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
- 驗(yàn)證環(huán)境變量:打開(kāi)cmd,分別輸入
java和javac
安裝Android環(huán)境
確保電腦可以翻墻
以API Level 19(Android 4.4.2)為例
- 點(diǎn)這里在官網(wǎng)下載Android Studio安裝包。
- 安裝Android Studio。注意記錄android sdk的目錄(通常應(yīng)該是
C:\Users\your_user\AppData\Local\Android\sdk),下面設(shè)置環(huán)境變量需要。 - 配置SDK Manager
- 打開(kāi)Android Studio
- 歡迎頁(yè)面中顯示右下的
configure - 點(diǎn)擊
SDK Manager,打開(kāi)SDK Manager - 在Android SDK->SDK Platforms中,勾選上
Show Package Details - 找到API Level 19(Android 4.4.2)
- 確認(rèn)下面的內(nèi)容都被勾選,點(diǎn)擊右下
applay。如果都已經(jīng)安裝,則不需要做任何操作,如果有未安裝的內(nèi)容,SDK Manager會(huì)提示,同時(shí)自動(dòng)下載并安裝Not Installed的內(nèi)容
- 配置SDK Tools
- 在Android SDK->SDK Tools中,勾選上
Show Package Details - 確認(rèn)勾選
Android SDK Build-Tools下與API 19有關(guān)的內(nèi)容(以防萬(wàn)一,全選也應(yīng)該關(guān)系) - 確認(rèn)勾選
Android SDK Platform-Tools - 確認(rèn)勾選
Android SDK Tools - 確認(rèn)勾選
Android Emulator - 可能還有其它的也被勾選,保持不變
- 點(diǎn)擊右下
applay。如果都已經(jīng)安裝,則不需要做任何操作,如果有未安裝的內(nèi)容,SDK Manager會(huì)提示,同時(shí)自動(dòng)下載并安裝Not Installed的內(nèi)容。
- 設(shè)置android環(huán)境變量
- 新建系統(tǒng)變量:
ANDROID_HOME,對(duì)應(yīng)的值為:your\android\sdk\path - 在系統(tǒng)變量
path中,加入值:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
- 打開(kāi)cmd,輸入
appium-doctor,檢查環(huán)境。
如果看到
All Checks were successful,說(shuō)明到這一步,一切還是順利的。
創(chuàng)建Android模擬器
以API Level 19(Android 4.4.2)為例
- 打開(kāi)Android Studio
- 創(chuàng)建一個(gè)新項(xiàng)目
- 點(diǎn)擊
Tools->Android->AVD Manager - 點(diǎn)擊
Create - 選擇一個(gè)屏幕尺寸,next
- 在x86 Images中選擇API Level 19,第一次可能需要下載。next
- 確認(rèn)配置,finish
- 然后就可以啟動(dòng)模擬器了。
到這一步,安卓模擬器運(yùn)行的環(huán)境就算搭建完了。
安裝ruby的Appium庫(kù)
官網(wǎng)文檔點(diǎn)這里
可能還需要安裝selenium-webdriver的gem
gem update --systemgem update bundlergem uninstall -aIx appium_libgem install --no-rdoc --no-ri appium_lib
運(yùn)行
啟動(dòng)安卓模擬器
- 打開(kāi)AVD Manager
- 選擇之前創(chuàng)建的模擬器(以API Level 19為例)
- 啟動(dòng)
配置Appium
- 打開(kāi)Appium
- 點(diǎn)擊左上的安卓圖標(biāo),打開(kāi)setting頁(yè)面
- 確認(rèn)Platform Name是Android
- 確認(rèn)Automation Name是Appium
- 確認(rèn)PlatformVersion是API Level 19
- 點(diǎn)右上的運(yùn)行圖標(biāo),運(yùn)行Appium
運(yùn)行腳本
以下是demo script
require 'appium_lib'
caps = { caps: { platformName: 'Android', appActivity: '.Calculator', appPackage: 'com.android.calculator2',deviceName:'Android Emulator' },
appium_lib: { sauce_username: nil, sauce_access_key: nil } }
driver = Appium::Driver.new(caps).start_driver
driver.find_element(name: '1').click
driver.find_element(name: '5').click
driver.find_element(name: '9').click
driver.find_element(name: 'delete').click
driver.find_element(name: '7').click
driver.find_element(name: '4').click
driver.find_element(name: '+').click
driver.find_element(name: '2').click
driver.find_element(name: '0').click
driver.find_element(id: 'com.android.calculator2:id/minus').click
driver.find_element(id: 'com.android.calculator2:id/digit8').click
driver.find_element(id: 'com.android.calculator2:id/digit8').click
driver.find_element(id: 'com.android.calculator2:id/digit3').click
driver.find_element(id: 'com.android.calculator2:id/equal').click
運(yùn)行該腳本即可
到這一步,算是成功了。
一些可能會(huì)用到的工具
uiautomatorviewer.bat
- 位置在
your\android\sdk\path\tools\bin下 - 這個(gè)工具可以查看手機(jī)界面中控件的屬性,包括name、id、class等,可以方便定位控件。
如果啟動(dòng)該工具出現(xiàn)Unable to connect to adb. Check if adb is installed correctly錯(cuò)誤,打開(kāi)uiautomatorviewer.bat,找到uiautomatorviewer.bat文件最后一行:
call "%java_exe%" "-Djava.ext.dirs=%javaextdirs%" "-Dcom.android.uiautomator.bindir=%prog_dir%" -jar %jarpath% %*
將其中的binddir=%prog_dir%修改為SDK的platform-tools所在路徑。
monitor.bat
- 位置在
your\android\sdk\path\tools\下 - 這個(gè)工具可以查看log以及其它的一些信息
- 建議先啟動(dòng)該工具后,再啟動(dòng)模擬器
一些可能會(huì)遇到問(wèn)題
- 運(yùn)行appium腳本出現(xiàn)
Requested a new session but one was in progress
- 重新停止appium服務(wù),開(kāi)啟Appium服務(wù)
- 在Genarel Setting中設(shè)置成覆蓋Session,重啟Appium服務(wù)
以防萬(wàn)一,在腳本中,保證運(yùn)行一次driver.quit
- 打開(kāi)Android Device Monitor后,Device offline
- 重啟手機(jī)或者模擬器
- 重新接入手機(jī)usb