上文介绍了如何在windows中安装calabash-android的测试环境,本文用一个实例来介绍calabash-android的基本用法。

本文所用的源代位于:https://github.com/bigconvience/HackerNews

下载完代码后,进入工程目录中,在命令行中输入:calabash-android gen,此命令会在工程目录下生成目录features,目录结构如下图:

features
|_support
| |_app_installation_hooks.rb
| |_app_life_cycle_hooks.rb
| |_env.rb
| |_hooks.rb
|_step_definitions
| |_calabash_steps.rb
|_my_first.feature

step_definions目录中存放用户自定义的features, my_first.feature用来书写测试的步骤。

基本用法之截屏

在my_first.feature中写下如下代码

Feature: Startup featureScenario: I can start my appThen I wait for 15 secondsThen I take a screenshot

第一行表示功能测试的名称,第二行表示应用场景,第三行和第四行为该应用场景所做的事:先等15秒,然后在截屏。

在命令行输入 calabash-android run HackNews.apk,应用程序会被安装到手机或模拟器中,15秒之后,会自动截屏,图片保存在当前工程目录下。也可以自定义截图保存的路径:

SCREENSHOT_PATH=/tmp/foo/ calabash-android run

以这种方式启动测试,图片保存在目录/tmp/foo/下面。

基本用法之自定义feature

在step_definitions中新建文件touch_steps.rb,添加代码如下:

# -- Touch --#
Then /^I (?:press|touch) on screen (\d+) from the left and (\d+) from the top$/ do |x, y|touch(nil, {:offset => {:x => x.to_i, :y => y.to_i}})sleep(3)
end

自定义的feature会被测试框架解析。功能名称写在了/^  &/当中,参数列表位于 | | 中。Then和end中间的代码为执行的语句。然后在my_first.feature中添加代码:

Then I touch on screen 100 from the left and 150 from the top

上面代码表示点击图中的广告条

下一张将详细介绍calabash-android中内置的features

Calabash-Android用法入门相关推荐

  1. Android Volley入门到精通:初识Volley的基本用法

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  2. Android WebRTC 入门教程(一) -- 使用相机

    前言,最近在搞网页投屏,发现 WebRTC 的Android 版本较少,这里的话,参考了一些优秀的博客,主要是这个大佬的 https://www.jianshu.com/p/eb5fd116e6c8 ...

  3. Android基础入门教程——4.3.1 BroadcastReceiver牛刀小试

    Android基础入门教程--4.3.1 BroadcastReceiver牛刀小试 标签(空格分隔): Android基础入门教程 本节引言 本节我们将来学习Android四大组件中的第三个:Bro ...

  4. Android基础入门教程——10.1 TelephonyManager(电话管理器)

    Android基础入门教程--10.1 TelephonyManager(电话管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本章节是Android基础入门教程的最后一章,主要讲 ...

  5. 最新Android基础入门教程目录(完结版)

    第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...

  6. Android基础入门教程——1.7 界面原型设计

    Android基础入门教程--1.7 界面原型设计 标签(空格分隔): Android基础入门教程 本节引言: 引用锤子科技视觉设计总监--罗子雄在重庆TEDx活动上说的一小段话: 每当我们看到一些美 ...

  7. Android基础入门教程——2.5.1 Toast(吐司)的基本使用

    Android基础入门教程--2.5.1 Toast(吐司)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 好的,终于学习完Adapter类相关的一些控件,当然除了讲解的那几个 ...

  8. Android基础入门教程——8.3.18 Canvas API详解(Part 3)Matrix和drawBitmapMash

    Android基础入门教程--8.3.18 Canvas API详解(Part 3)Matrix和drawBitmapMash 标签(空格分隔): Android基础入门教程 本节引言: 在Canva ...

  9. android9壁纸存放路径,Android基础入门教程——10.9 WallpaperManager(壁纸管理器)

    Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager( ...

  10. Android基础入门教程——2.3.1 TextView(文本框)详解

    Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...

最新文章

  1. go语言中map的使用
  2. 南京大学计算机学院宋教授,宋曰钦教授
  3. linux之pmap命令
  4. 关于C#中委托的一点理解
  5. execel公式 java工具_PAP-快速开发框架:JAVA 计算器 自定义公式 解决EXCEL计算公式问题...
  6. 架构师必须补充的能力
  7. java报表的导出excel_java导出excel报表
  8. 百度echars 插件 横坐标信息倾斜显示
  9. PSD分层模板素材丨只需掌握三大规则!电商海报秒脱俗套
  10. python tkinter实例_Python tkinter模版代码实例
  11. 在Anaconda上安装Caffe 和 CUDA
  12. android sepolicy报错解决
  13. 自动化测试的点点滴滴经验积累
  14. Struts2 本是非单例的,与Spring集成就默认为单例
  15. 手输Unicode字符的方法
  16. Android开发丰富资源集锦
  17. gwas snp 和_GWAS | 原理和流程 | 全基因组关联分析
  18. 什么叫计算机硬件特征码,获取计算机硬件特征码【上】
  19. 衣服挂牌 挂牌吊牌(麻绳,五彩绳,尼龙绳等)
  20. 巨量信息流广告 “一键起量“ 功能,深度解析使用方法!

热门文章

  1. 强化学习数学入门教程
  2. ifndef/define/endif的使用
  3. 矩阵中 “行优先“ 和 “列“ 优先
  4. 基于 Vue3 + TypeScript 开发SSR系统(一):初始创建SSR
  5. VUE中a标签里调用v-on:click发送axios请求
  6. 写一个心脏跳动的代码
  7. 第三章 变量和数据类型_C语言中的二进制数、八进制数和十六进制数的输入和输出
  8. 国产免费高性能桌面录屏软件LiveView1.0正式发布
  9. Vue自定义Tag标签
  10. wxml input