中文Win7下成功安装calabash-android步骤

jopen 10年前

网上看见很多同学说,安装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/

中文Win7下成功安装calabash-android步骤

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启动页:
中文Win7下成功安装calabash-android步骤

中文Win7下成功安装calabash-android步骤

设置环境变量:

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

中文Win7下成功安装calabash-android步骤

中文Win7下成功安装calabash-android步骤
选择: D:\calabash-android-demoapp-master

中文Win7下成功安装calabash-android步骤

安装手机驱动

把手机通过USB线接到电脑上,手机上确保打开“USB调试”
如果电脑屏幕右下角提示,设备驱动已正确安装,请看下一步。

如果电脑屏幕右下角提示,设备驱动安装失败:
中文Win7下成功安装calabash-android步骤

需要到网站http://www.drivergenius.com/下载并安装驱动精灵标准版,只要打开驱动精灵,就会引导你安装手机驱动。
中文Win7下成功安装calabash-android步骤

驱动安装成功后:
中文Win7下成功安装calabash-android步骤

接下去在ADT中运行Run > Run As > Android Application:
中文Win7下成功安装calabash-android步骤

点击"OK"按钮,ADT就会上传AndroidDemoProject.apk到手机,并启动应用,看到“Hello World, AndroidDemoProject!”

中文Win7下成功安装calabash-android步骤

使用calabash-android运行AndroidDemoProject.apk

中文Win7下成功安装calabash-android步骤

主要错误信息:helpers.rb:105:in `scan': invalid byte sequence in GBK

可是我在英文Windows上运行正确啊,一定是英文系统和中文系统的缺省编码问题:
cmd > 属性 > 选项 > 当前代码页:936 简体中文 GBK
中文Win7下成功安装calabash-android步骤

照着http://blog.sina.com.cn/s/blog_628e2ab30101ajcg.html的解决方案,把cmd的中文编码设置成UTF-8

cmd中输入:chcp 65001

中文Win7下成功安装calabash-android步骤

cmd > 属性 > 选项 > 当前代码页:65001 UTF-8

中文Win7下成功安装calabash-android步骤

再次运行calabash-android:

中文Win7下成功安装calabash-android步骤

calabash-android输出彩色结果

上面的测试结果提醒:WARNING: You must use ANSICON 1.31 or higher

下载ansison并启动,
同样要输入 chcp 65001
再次运行calabash-android:

中文Win7下成功安装calabash-android步骤

大功告成!

来自:http://my.oschina.net/fitnessefan/blog/305350