feature为主件夹,step_definitions内是你封装的脚本,my_first.feature文件是你的TC逻辑。再看一下其中的内容:

  my_first.feature

  Feature: 登陆

  Scenario: 输入正确的用户名密码能够正常登陆

  When 打开登陆页面

  And    输入用户名XXX输入密码XXX

  And   点击登陆

  Then  验证登陆成功

  看起来很简单吧,想要验证其他功能也是类似的语言描述即可。如果你没有用过cucumber或者calabash那么你肯定现在有一个疑问,计算机怎么能识别汉字来进行测试的呢,那么看一下step_definition:

  以输入用户名XXX输入密码XXX为例:

When /^ 输入用户名"([^\"]*)" 输入密码"([^\"]*)"  $/ do |username,password|
performAction('enter_text_into_numbered_field',username,1)
performAction('enter_text_into_numbered_field',password,2)
end

  现在应该能明白为什么你需要写汉字的脚本可以了吧。在这里解释一下为什么如果业务存在功能修改这种情况,自动化脚本的修改量会小,还是以这个登录脚本为例,加入现在输入用户名和密码的输入框顺序变了,在你的页面显示上,可能是从左下角移到中间了,这种变化,那么feature文件你不用改,只需要改step_definition脚本好了。

  运行报告

  calabash-android支持很多报告生成模式,支持html,json,junit等等报告模式,只需要你在run的时候添加-f参数-o参数可以了。

  例如 calabash-android run xxxx.apk -f html -o report.html,上图展示一下强大html报告