Calabash基础研究文档.docx_第1页
Calabash基础研究文档.docx_第2页
Calabash基础研究文档.docx_第3页
Calabash基础研究文档.docx_第4页
Calabash基础研究文档.docx_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Calabash基础研究文档Calabash简介#简介Calabash-android是一个自动化测试框架,它可以测试Android和IOS原生应用和混合应用。Calabash-android是支持android的UI自动化测试框架,PC端使用了cucumber框架,通过http和json与模拟器和真机上安装的测试apk通信,测试apk调用robotium的方法来进行UI自动化测试,支持webview操作。#运行原理calabash-android架构其实与IOS是相同的,编写calabash架构的脚本,其实内部使用的是cucumber(cucumber是一种BDD测试框架)这种核心为cucumber的calabash的脚本在运行测试的时候会在虚拟机/真机上预装一个web服务器,这个web服务器就是解释calabash的脚本,将其解释为robotium的脚本,然后这个web服务器会想测试app发送robotium的脚本,测试app拿到robotium脚本后,将其解释为instumentation命令向被测试的app发送这些命令,被测试的app执行这些命令,然后将结果返回给测试app,然后一级一级返得到最后的测试结果。Calabash优点1.calabash是BDD驱动开发,编写自动化测试脚本比Robotium提高100%2.calabash是脚本与TC分离设计,在业务变化的情况下,只要功能存在基本只需要修改TC,在业务不变,功能变化的情况下,基本只需要修改脚本3.calabash既支持android也支持ios,真正实现了套脚本跨平台设备运行4.calabash是支持扩展的,而且非常容易扩,当前也支持webview的脚本编写Calabash-android环境搭建#Calabash环境组成1*ruby 环境2*Android 开发环境3*cucumber4* Calabash-android准备好环境组成的各种软件安装文件,如下:#安装ruby1、 把ruby安装文件rubyinstaller-2.0.0-p576-x67.exe安装在C:Ruby200-x64下。2、 【右键计算机】-【属性】-【高级系统设置】-【环境变量】。把ruby的执行目录C:Ruby200-x64bin,加入到环境变量Path。如下图:测试:运行命令ruby -v,看到如下结果,表示ruby安装成功。#安装JDK1、 把adt解压,双击目录下的jdk.exe。一直下一步就OK。2、 配置JDK,【右键计算机】-【属性】-【高级系统设置】-【环境变量】如下图:3、 JDK安装路径:D:/Java/jdk1.7.0_45。%JAVA_HOME%表示名称为JAVA_HOME的路径【系统变量】-【新建】变量名:JAVA_HOME变量值:D:/Java/jdk1.7.0_45(安装路径)【系统变量】-【新建】变量名:path 变量值:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin【新建】变量名: classpath 变量值:%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;测试运行命令java -version,看到如下结果,表示jdk安装成功。#安装SDK1、 把adt解压,双击目录下的SDK Manager.exe文件。进行安装。2、 【右键计算机】-【属性】-【高级系统设置】-【环境变量】【系统变量】-【新建】 变量名:ANDROID_HOME 变量值:D:/adt-bundle-windows-x86-20130917/sdk【注意】:该路径一定要命名为ANDROID_HOME否则calabash会找不到路径而报错3、 配置完之后打开eclipse,创建模拟器。如下图:4、 模拟器创建成功,点击start,打开模拟器【注意】API如果是API19的话RAM不能大于768测试:启动安装的ADT,没有报错就说明正常5、 假如需要用真机测试的话启动步骤如下:A、 手机设置:设置 开发人员选项 勾选“USB调试”B、 安装驱动:将手机和电脑用数据线连接好之后,windows系统中如果安装“360手机助手”或者“豌豆荚”的话,会自动为手机安装驱动,确认安装,并重启电脑。C、 在eclipse中进行配置菜单栏Run Run Configuration选择Target选项卡,勾选“Always prompt to pick device”,选择右下角的Apply - Close点击OK就可以运行程序啦。控制台里没报错,说明运行程序成功。#安装ant1、 解压下载好的文件:apache-ant-1.9.4-bin.zip 到D盘下。如:D:/ apache-ant-1.9.42、 配置环境变量【右键计算机】-【属性】-【高级系统设置】-【环境变量】【系统变量】-【新建】 变量名:ANT_HOME 变量值:D:/ apache-ant-1.9.4【系统变量】-【编辑】 变量名:path 变量值:D:/ apache-ant-1.9.4/bin【系统变量】-【编辑】 变量名:classpath 变量值:D:/ apache-ant-1.9.4/lib测试:运行命令ant,查看到如下结果表示安装成功。查看版本:ant version#安装DevKit1、 点击DevKit安装文件:DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe。安装在D盘下,目录之间不能有空格。如:D:Dev2、 打开运行-命令。进入到D:Dev目下 运行:ruby dk.rb init显示了当前安装的Ruby处理系统,在DevKit展开文件夹中生成了初期设定的文件(config.yml)3、 运行:ruby dk.rb install后 DevKit就已经安装完成#安装Calabash-android1、进行换源,换成淘宝的源(因为默认的源没有翻墙下载很慢,经常timeout,所以需要换源)查看现在的源: gem sources l删除默认的源:gem sources remover /安装淘宝的源:gem sources -a /查看修改后的源:gem sources l 2、安装cucmber 运行gem install cucumber3、安装Calabash-android运行gem install Calabash-android查看是否安装成功 gem list有calabash-android(0.5.2)、cucumber(1.3.17) 表示环境安装成功。Calabash-android测试#Calabash-android框架图Features 这里的 feature 就是 cucumber 的 feature,用来描述 user stories 。Step Definitions Calabash Android 事先已经定义了一些通用的 step。你可以根据自己的需求,定义更加复杂的步骤。Your app 测试之前,不必对你的应用修改。Instrumentation Test Server 这是一个应用,在运行测试的时候会被安装到设备中去。 这个应用是基于 Android SDK 里的 ActivityInstrumentationTestCase2。它是 Calabash Android 框架的一部分。Robotium 就集成在这个应用里。#测试步骤-测试开源中国Android客户端*准备环境1、 下载测试开源中国源代码:/oschina/android-app2、 解压导入ADT中 注意:adt的API版本是18,所以导入的项目配置文件pertoes文件中的target需要改为android-18。不然编译的时候会报错。先确认oschina/android-app声明了访问网络的权限 /android-app项目的AndroidManifest.xml中应该如下行: 3、 参照calabash-android环境搭建 安装SDK 方法5中如何使用真机测试的步骤来启动真机。连接成功后。4、 右键项目名Run as会在bin目录下生成oschina-android-app.apk5、 打开命令,进入项目E:android-app根路径中创建calabash目录、6、 创建cucumber skeleton: 进入刚创建的calabash目录中运行:calabash-android gen在ADT中刷新项目,可以看到我们新建的文件featuresStep_definitions内是封装的脚本,存放用户自定义的featuresMy_first.feature文件是TC逻辑,来书写测试的步骤。*测试之截图测试功能:启动开源中国,等待10秒后,然后截图。测试成功后系统会在项目目录下的calabash下建立test_servers文件夹。会保存测试记录。图片也默认保存calabash下。1、 进入项目 calabash features my_first.feature编辑my_first.feature写如下代码第一行Feature:XX、第二行Scenario:是给用户读的,所以随便编写什么内容都可以关键内容是when和then后面跟进的内容,这个是给cucumber软件识别的。When后面跟动作语句,then后面跟内容检查语句。2、 测试: 运行calabash-android run 出现如下信息表示成功:注意:测试运行run的时候编码只支持utf-8格式的编码,所以需要转码。运行:chcp 65001不然会报错,因为cmd默认就是gbk编码格式 65001代表utf-8编码 936是代表gbk3、 可以在ADT中发现calabash文件夹中多calabash脚本生成的图片及test_servers文件夹4、 calabash脚本生成的手机截图信息如下: (表示启动成功后并且截图)*测试之启动左右滑动测试功能步骤:启动开源中国客户端 等待10秒 截图 看到“最新资讯“ 截图 我按菜单键 我看到”系统设置” 截图 我按”系统设置” 然后看到”已关闭左右滑动” 截图 当我按”已关闭左右滑动” 然后看到”已启用左右滑动” 截图 然后我回去 看到”最新资讯” 截图1、 进入项目 calabash features my_first.feature编辑my_first.feature写如下代码2、 测试: 运行: calabash-android run3、 测试成功后,出现如下信息,表示编写的脚本测试步骤成功通过:4、 ADT中刷新下可以看到calabash脚本生成的手机截图记录:calabash脚本生成的手机截图记录图如下:现在来写个脚本测试下,设置的是否设置成功。swipe right 等于:向右滑动查看信息。所以我们在my_first.feature下加入如下代码:向右滑动 然后我看到问答 我看不到”最新资讯” 截图在命令行模式下运行 calabash-android run。成功后在ADT中可以看到calabash生成的截图:*测试之登录测试功能之登录输入错误的用户名失败:启动开源中国客户端 等待10秒 然后我按菜单键 看到“用户登录“ 截图 我按”用户登录“ 我看到”记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论