在java中将Cucumber-jvm步骤作为String
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中将Cucumber-jvm步骤作为String相关的知识,希望对你有一定的参考价值。
我在小黄瓜上写了以下场景
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
注释之间的内容。我有几个用例,这将有所帮助,但我不知道到目前为止。
答案
在括号中包括整个步骤。这将是第一个被捕获的组。
@Given("^(User is on the login screen)$)
public void goToLoginScreen(String stepText){
System.out.println(stepText);
//some logic
}
另一答案
您可以使用捕获组来捕获步骤中的变量。例如:
@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"
),它们仅匹配使用这些字符串的步骤,而不是像(.*)
那样的任何字符串。
以上是关于在java中将Cucumber-jvm步骤作为String的主要内容,如果未能解决你的问题,请参考以下文章