中文Win7下成功安裝calabash-android步驟
網上看見很多同學說,安裝calabash比較費勁,特別是Windows下安裝,也沒有一個詳細的安裝手冊可供參考。
正好,今天在Windows 7 上安裝calabash-android成功,忍不住要分享一下。
我為什么要特別在標題中指出中文Win7?
因為我第一次在英文Win7下沒碰到任何問題,第二次在中文Win7下安裝碰到兩個大問題,但都被我借助百度解決了。
calabash簡介:
Calabash-android是支持android的UI自動化測試框架,PC端使用了cucumber框架,通過http和json與模擬器和真機上安裝的測試apk通信,測試apk調用robotium的方法來進行UI自動化測試,支持webview操作。
安裝ruby1.9.3
calabash-android 的git網址: https://github.com/calabash/calabash-android
進入Installation: https://github.com/calabash/calabash-android/blob/master/documentation/installation.md
因為要在Windows下安裝,所以按照指示進入:http://rubyinstaller.org/
點擊紅色的Download圖標,進入:http://rubyinstaller.org/downloads/
Ruby2.0據說不兼容舊版本,所以下載穩定版Ruby 1.9.3-p545.7z 解壓到D:\下
把ruby的執行目錄D:\ruby-1.9.3-p545-i386-mingw32\bin,加入到環境變量Path
運行命令ruby -v,看到如下結果,表示ruby安裝成功
C:\Users\asus>ruby -v ruby 1.9.3p545 (2014-02-24) [i386-mingw32]
安裝JDK 7u65
安裝JDK網上有很多教程,以下簡略介紹。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
jdk-7u65-windows-x64.exe
安裝,并設置環境變量:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_65 Path添加內容: ";%JAVA_HOME%\bin;%JAVA_HOME%\..\jre\bin"
啟動命令行工具cmd.exe,輸入:
C:\Users\asus>javac -version javac 1.7.0_65
看到上述結果,說明jdk已正確安裝。
安裝Android SDK
到http://developer.android.com/sdk/index.html下載適用于Windows的SDK
google的網站,國內正常訪問不了了。
幸好有個中國好碼農整理了一個最新版Android SDK下載網站:
http://www.androiddevtools.cn/
我現在的是 ADT Bundle > 23.0.2 > Windows > 64位
因為我的Windows7已經安裝了64位的JDK,所以必須安裝64位的Android SDK(主要是64位的Eclipse)
在目錄D:\adt-bundle-windows-x86_64-20140702\eclipse下雙擊文件eclipse.exe
看到Android Develop Kit啟動頁:
設置環境變量:
ANDROID_HOME=D:\adt-bundle-windows-x86_64-20140702\sdk
安裝Ant-1.9.4
網址:http://ant.apache.org/bindownload.cgi
下載 apache-ant-1.9.4-bin.zip
解壓到D:\下,
設置環境變量:
ANT_HOME=D:\apache-ant-1.9.4 Path添加內容: ";%ANT_HOME%\bin"
啟動命令行工具cmd.exe,輸入:
C:\Users\asus>ant Buildfile: build.xml does not exist! Build failed
看到上述結果,說明ant已正確安裝。
gem命令安裝calabash-android
設置gem的倉庫為taobao
C:\Users\asus>gem sources -l *** CURRENT SOURCES *** http://rubygems.org/ C:\Users\asus>gem sources --remove http://rubygems.org/ source https://rubygems.org/ not present in cache C:\Users\asus>gem sources -a http://ruby.taobao.org/ http://ruby.taobao.org/ added to sources C:\Users\asus>gem sources -l *** CURRENT SOURCES *** http://ruby.taobao.org/
用gem命令安裝calabash-android
C:\Users\asus>gem install calabash-android ... Installing RDoc documentation for escape-0.0.4... Installing RDoc documentation for calabash-android-0.5.1... C:\Users\asus>calabash-android version 0.5.1
下載calabash-android-demoapp
https://github.com/calabash/calabash-android-demoapp
點擊 Download ZIP下載calabash-android-demoapp-master.zip,并解壓到D:\
ADT中導入并運行calabash-android-demoapp
選擇: D:\calabash-android-demoapp-master
安裝手機驅動
把手機通過USB線接到電腦上,手機上確保打開“USB調試”
如果電腦屏幕右下角提示,設備驅動已正確安裝,請看下一步。
如果電腦屏幕右下角提示,設備驅動安裝失敗:
需要到網站http://www.drivergenius.com/下載并安裝驅動精靈標準版,只要打開驅動精靈,就會引導你安裝手機驅動。
驅動安裝成功后:
接下去在ADT中運行Run > Run As > Android Application:
點擊"OK"按鈕,ADT就會上傳AndroidDemoProject.apk到手機,并啟動應用,看到“Hello World, AndroidDemoProject!”
使用calabash-android運行AndroidDemoProject.apk
主要錯誤信息:helpers.rb:105:in `scan': invalid byte sequence in GBK
可是我在英文Windows上運行正確啊,一定是英文系統和中文系統的缺省編碼問題:
cmd > 屬性 > 選項 > 當前代碼頁:936 簡體中文 GBK
照著http://blog.sina.com.cn/s/blog_628e2ab30101ajcg.html的解決方案,把cmd的中文編碼設置成UTF-8
cmd中輸入:chcp 65001
cmd > 屬性 > 選項 > 當前代碼頁:65001 UTF-8
再次運行calabash-android:
calabash-android輸出彩色結果
上面的測試結果提醒:WARNING: You must use ANSICON 1.31 or higher
下載ansison并啟動,
同樣要輸入 chcp 65001
再次運行calabash-android:
大功告成!
來自:http://my.oschina.net/fitnessefan/blog/305350