2016-08-29 63 views
0

我正在使用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運行測試時,我得到一個e錯誤信息:

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

我在哪裏錯了?如何創建一個不需要參數的簡單步驟&只運行一個adb命令?

回答

0

幾個問題:

  • Run不是小黃瓜標識符。從Given,When,Then,AndBut開始你的腳步。
  • 步驟定義不具有該步驟的純粹措辭,而是一個與其匹配的正則表達式。
  • 塊參數的數量應該與正則表達式中捕獲組的數量相匹配。在這種情況下,沒有任何,所以不應該有塊參數。

這應該工作:

功能/ 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