繁体   English   中英

在Java中将Cucumber-jvm步骤获取为String

[英]Get Cucumber-jvm step as String in 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批注之间获取内容。 我有几个用例,它们会有所帮助,但无法找出到目前为止的情况。

将整个步骤放在方括号中。 这将是第一个捕获的组。

@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" ),这些字符串将仅匹配使用这些字符串的步骤,而不是诸如(.*)类的任何字符串(.*)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM