如何创建自定义的calabash步骤来运行命令?

时间:2016-08-29 15:32:26

标签: android cucumber calabash calabash-android

我正在使用calabash-android来测试我的应用。我想创建一个执行adb命令的自定义步骤。

这就是我的尝试:

我创建了以下自定义步骤,该步骤不带参数(我在step_definitions /文件夹下创建了它):

Run adb command for our app do |cukes|
   system("adb devices")
end

my_first.feature中,我将上述步骤称为:

Feature: My feature

  Scenario: My scenario
    Run adb command for our app

当我使用命令calabash-android run myApp.apk运行测试时,收到错误消息:

syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '('
Run adb command for our app do |cukes|

我哪里错了?如何创建一个不需要参数的简单步骤只运行一个adb命令?

1 个答案:

答案 0 :(得分:0)

几个问题:

  • Run不是Gherkin标识符。使用GivenWhenThenAndBut开始您的步骤。
  • 步骤定义没有步骤的粗略措辞,而是与之匹配的正则表达式。
  • 块参数的数量应与正则表达式中的捕获组数量相匹配。在这种情况下,没有任何,所以不应该有块参数。

这应该有效:

特征/ my_first.feature

Feature: My feature

  Scenario: My scenario
    When I run the adb command for our app

step_definitions / my_first_steps.rb

When /^I run the adb command for our app$/ do
  system("adb devices")
end