2016-08-29 9 views
0

Ich verwende calabash-android, um meine App zu testen. Ich möchte einen benutzerdefinierten Schritt erstellen, der einen adb Befehl ausführt.Wie erstelle ich einen benutzerdefinierten Kalebassenschritt, um einen Befehl auszuführen?

Das ist, was ich versucht:

ich die folgenden benutzerdefinierten Schritt erstellt, die keine Argumente übernimmt (Ich habe es unter step_definitions/Ordner):

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

In my_first.feature, nenne ich obigen Schritt dies wie:

Feature: My feature 

    Scenario: My scenario 
    Run adb command for our app 

Wenn ich den Test mit dem Befehl calabash-android run myApp.apk laufen lasse, erhalte ich eine E Fehlermeldung:

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

Wo liege ich falsch? Wie erstellt man einen einfachen Schritt, der kein Argument & dauert nur einen ADB-Befehl?

Antwort

0

Mehrere Probleme:

  • Run ist kein Gherkin-Kennung. Beginnen Sie Ihren Schritt mit Given, When, Then, And oder But.
  • Schrittdefinitionen enthalten nicht den einfachen Wortlaut des Schritts, sondern einen regulären Ausdruck, der diesem entspricht.
  • Die Anzahl der Blockparameter sollte der Anzahl der Erfassungsgruppen im regulären Ausdruck entsprechen. In diesem Fall gibt es keine, daher sollte es keine Blockparameter geben.

Dies sollte funktionieren:

Funktionen/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 
Verwandte Themen