Calabash-Android For windows 环境搭建说明
Support:
Calabash-Android github:https://github.com/calabash/calabash-android
Ruby Api:
https://github.com/calabash/calabash-android/blob/master/documentation/ruby_api.md
Ansicon:https://github.com/adoxa/ansicon/
环境必备一览:
Ruby
JDK
Android SDK
Calabash-Android
安装Ruby
1、直接运行rubyinstaller-1.9.3-p545.exe,一路确认完成。
2、安装完后打开cmd,输入ruby -v
,可以看到版本号即安装成功。
安装JDK
安装完后配置好环境变量:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_65
Path添加内容:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
配置好后打开cmd,输入java,有输出即成功。
安装Android SDK
将Android SDK解压到任意位置,配置环境变量:
ANDROID_HOME=D:\adt-bundle-windows-x86_64-20140702\sdk
Path添加内容:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
配置好后打开cmd,输入adb,有输出即成功。
使用gem命令安装calabash-android
gem是ruby上的文件组织的包, 可以通过gem下载ruby所需要的包和插件。
1) 首先修改gem的仓库:
Ruby gem的仓库已被墙,故国内需要下载插件的话会受阻,把仓库更换为taobbao的就好了。
i. 打开cmd,输入gem sources -r http://rubygems.org/
后回车
ii. 接着输入 gem sources -a http://ruby.taobao.org/
后回车
iii. 输入 gem sources –l
后回车,若看到返回 http://ruby.taobao.org/ 则代表成功
2) 安装calabash-Android
i. 打开cmd,输入 gem install calabash-andriod
后回车
ii. 输入calabash-android version
后回车,可看到版本号
开始运行测试
运行前准备:
1、 一部允许USB调试的手机(或使用模拟器,推荐使用genymotion)
2、 确保手机(模拟器)能被电脑识别:
手机连接上电脑后,打开cmd,输入 adb deveices 后回车,能看到devices id返回的话就表示已经连接上了。若近返回 List of devices attached 后就没有任何东西的话,说明连接是不成功的。
3、 需要使用Aniscon来支持cucumber运行命令,使用aniscon运行时才会区分用例的颜色。
a) 下载地址:http://adoxa.altervista.org/ansicon/dl.php?f=ansicon (ansi166.zip)
b) 根据你的系统类型选择,比如我的是X64系统,那我就将X64文件夹中的所有文件放到已配好环境变量中,比如我将ansicon.exe直接放到C:\Ruby193\bin里。
c) 然后打开cmd,输入ansicon 后回车,若cmd的标题后多了 – ansicon则表示成功进入ansicon:
d) 为了避免以后每次都要输入ansicon进入环境,我们可以新建一个cmd快捷方式在桌面,然后设置该cmd快捷方式的目标后面加上/k ansicon
e) 以后需要进行calabash-android的测试时只需要在桌面打开该cmd即可。
接下来我们开始测试,以android网校为例:
1、 在D盘根目录新建一个文件夹用于存放calabash的测试项目。
比如我在D:/workspace下新建了hjclass-calabash
2、 打开cmd,进到到hjclass-calabash文件夹下。
(输入d: 回车→ 输入cd workspace 回车→输入cd hjclass-calabash 回车)
3、 输入 calabash-android gen
回车后,会自动在hjclass-android目录下创建feature目录。
4、 此时把待测apk,hjclass3.apk拷贝到hjclass-android目录下。
5、 在cmd里输入chcp 65001
,把cmd的中文编码设置为UTF-8。
(这一步是项目第一次运行时必须设置的,第二次以后就不需要了。)
6、 输入 ansicon
进入ansicon模式。
7、 输入calabash-android resign hjclass3.apk
后回车.
这一步骤会将hjclass3.apk重签名。(cucumber运行的环境需要验证签名,所以如果不想重签名的话,需要开发提供打包时使用的keystone)