如何为 运行 命令创建自定义葫芦步骤?

How to create a custom calabash step to run a command?

我正在使用 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 命令的简单步骤?

几个问题:

  • Run 不是 Gherkin 标识符。从 GivenWhenThenAndBut.
  • 开始您的步骤
  • 步骤定义没有步骤的简单措辞,而是匹配它的正则表达式。
  • 块参数的数量应与正则表达式中捕获组的数量匹配。在这种情况下没有任何参数,因此应该没有块参数。

这应该有效:

features/my_first.特征

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