设为首页 收藏本站
查看: 829|回复: 0

中文Win7下成功安装calabash

[复制链接]

尚未签到

发表于 2015-5-15 08:53:16 | 显示全部楼层 |阅读模式
  Calabash-android是支持android的UI自动化测试框架,网上看见很多同学说,安装calabash比较费劲,特别是Windows下安装,也没有一个详细的安装手册可供参考。正好,今天在Windows 7 上安装calabash-android成功,忍不住要分享一下。
  我为什么要特别在标题中指出中文Win7?
  因为我第一次在英文Win7下没碰到任何问题,第二次在中文Win7下安装碰到两个大问题,但都被我求助百度解决了。
  第一个问题:中文Win7下不认识手机设备,第一台英文Win7下已经有人安装了豌豆荚。
  第二个问题:中文Win7下运行calabash-android,报GBK错误。
  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/
DSC0000.png
  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启动页:
DSC0001.png
DSC0002.png
  设置环境变量:
  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
DSC0003.png
DSC0004.png
  选择: D:\calabash-android-demoapp-master
DSC0005.png

安装手机驱动
  把手机通过USB线接到电脑上,手机上确保打开“USB调试”
  如果电脑屏幕右下角提示,设备驱动已正确安装,请看下一步。
  如果电脑屏幕右下角提示,设备驱动安装失败:
DSC0006.png
  需要到网站 http://www.drivergenius.com/ 下载并安装驱动精灵标准版,只要打开驱动精灵,就会引导你安装手机驱动。
DSC0007.png
  驱动安装成功后:
DSC0008.png
  接下去在ADT中运行Run > Run As > Android Application:
DSC0009.png
  点击"OK"按钮,ADT就会上传AndroidDemoProject.apk到手机,并启动应用,看到“Hello World, AndroidDemoProject!”
DSC00010.png

使用calabash-android运行AndroidDemoProject.apk
  打开cmd,进入D:\calabash-android-demoapp-master\calabash目录,运行:
  

calabash-android run D:\calabash-android-demoapp-master\bin\AndroidDemoProject.apk  

DSC00011.png
  主要错误信息:helpers.rb:105:in `scan': invalid byte sequence in GBK
  可是我在英文Windows上运行正确啊,一定是英文系统和中文系统的缺省编码问题:
  cmd > 属性 > 选项 > 当前代码页:936 简体中文 GBK
DSC00012.png
  照着 http://blog.sina.com.cn/s/blog_628e2ab30101ajcg.html 的解决方案,把cmd的中文编码设置成UTF-8
  cmd中输入:chcp 65001
DSC00013.png
  cmd > 属性 > 选项 > 当前代码页:65001 UTF-8
DSC00014.png
  再次运行calabash-android:
DSC00015.png

calabash-android打印彩色结果
  上面的测试结果提醒:WARNING: You must use ANSICON 1.31 or higher
  从 https://github.com/adoxa/ansicon/ 下载ansicon并启动,
  同样要输入 chcp 65001
  再次运行calabash-android:
DSC00016.png
  大功告成!

建立ansicon快捷链接
  接下去好人做到底,在桌面上建一个cmd快捷链接,点击后直接进入UTF-8编码的ansicon控制台
  确保ansicon.exe放置在Path能找到的目录下,比如,我放在ruby的bin目录下:
DSC00017.png
  桌面上建一个cmd快捷链接:
DSC00018.png
DSC00019.png
  注意,快捷链接的目标:
  

%windir%\system32\cmd.exe /k chcp 65001&&ansicon  

  打开该快捷链接后:
DSC00020.png

calabash-android输出html报告文件
  

calabash-android run ../bin/AndroidDemoProject.apk  --format html --out=report.html  

DSC00021.png
DSC00022.png

关于GBK编码问题的后续补充


  • 我回去看了英文Win7和的cmd.exe的编码,也是GBK,但是没有出现过“invalid byte sequence in GBK ”的问题  

  • 我在中文Win7上用chcp 65001设置成UTF-8,并测试成功后,再尝试直接cmd.exe/ansicon.exe/powershell.exe保持GBK编码的情况下,直接运行calabash,再也没有报过“invalid byte sequence in GBK ”的问题,难道第一次正确运行后,自动修改了什么配置吗?  

  • 在中文Win7上用chcp 65001设置成UTF-8后,如果calabash的脚本中包含中文,运行calabash时不能打印出中文内容。  

  • 在中文Win7的GBK编码的命令行下,如果calabash的脚本中包含中文,运行calabash时能打印出中文内容。  

  • 在英文Win7的GBK编码的命令行下,如果calabash的脚本中包含中文,运行calabash时能打印出中文内容。  

  • 在Ubuntu Linux的控制台下,如果calabash的脚本中包含中文,运行calabash时能打印出中文内容。
  算了,不去找原因了,记住就是了。
  所以,建立calabash测试环境的容易程度:
  Linux > 英文Windows > 中文Windows

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67072-1-1.html 上篇帖子: win7 下发wifi热点 供手机使用无线网 下篇帖子: WIN7 Net Configuration Assistant打不开
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表