我用小黄瓜写了下面的场景
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我将cucumber-jvm中的以下步骤映射到此场景
...
@Given("^User is on the login screen$)
public void goToLoginScreen(){
//some logic
}如何在映射的步骤定义方法中获取@Given注释之间的内容。我有几个用例,在这些用例中,这将是有帮助的,但到目前为止还不能了解如何做到这一点。
发布于 2016-11-29 21:31:04
将整个步骤包括在括号中。这将是第一个捕获的组。
@Given("^(User is on the login screen)$)
public void goToLoginScreen(String stepText){
System.out.println(stepText);
//some logic
}发布于 2017-12-30 17:04:39
您可以使用捕获组来捕获步骤中的变量。例如:
@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"),这些字符串将只匹配使用这些字符串的步骤,而不是像(.*)这样的任何字符串。
https://stackoverflow.com/questions/40864556
复制相似问题