2016-11-29 6 views
0

Я написал следующий сценарий огурцовПолучить шаг Огурцы-Jvm в качестве строки в Java

Scenario: Correct login should take the user to the next screen 
    Given User is on the login screen 
    When User enters username as "Donald" 
    And User enters password as "Trump" 
    And User clicks the login button 
    Then User should be taken to the next screen 

И я следующий шаг отображается в огуречной-JVM этому сценарию

... 
@Given("^User is on the login screen$) 
public void goToLoginScreen(){ 
    //some logic 
} 

Как получить содержимое в промежутке между аннотацией @Given внутри метода определения отображаемого шага. У меня есть несколько вариантов использования, где это было бы полезно, но я не смог узнать, насколько это возможно.

ответ

0

Включите весь шаг в скобки. Это будет первая захваченная группа.

@Given("^(User is on the login screen)$) 
public void goToLoginScreen(String stepText){ 
    System.out.println(stepText); 
    //some logic 
} 
0

Группы захвата можно использовать для захвата переменных в ваших шагах. Например:

@When("^User enters username as (.*)$") 
public void entersUsernameAs(String username){ 
    //some logic 
} 

Вы также можете использовать несколько переменных на одном шаге. Например:

@Given("^User logs in as (.*) with password (.*)$") 
public void usersLogsInAs(String username, String password){ 
    //go to loginpage 
    //enter username 
    //enter password 
    //click login button 
} 

Вы можете использовать разные группы захвата. Обычно я использую (.*) для строки, которая может быть что угодно и (\\d+) для целых чисел. Вы также можете использовать (option|other|else) для ограниченного набора строк (в этом примере "option", "other" и "else"), которые будут соответствовать только шагам, используя эти строки, а не любую строку, например (.*).