2016-08-29 3 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, я получаю е rror message:

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

Где я ошибаюсь? Как создать простой шаг, который не принимает аргументов & запускает только одну команду adb?

ответ

0

Несколько вопросов:

  • Run не является идентификатором Огурец. Начните свой шаг с Given, When, Then, And или But.
  • Определения шагов не имеют голой формулировки шага, но регулярное выражение, которое соответствует ему.
  • Число параметров блока должно соответствовать количеству групп захвата в регулярном выражении. В этом случае их нет, поэтому не должно быть параметров блока.

Это должно работать:

функции/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