如何在黄瓜场景中写数字

时间:2015-09-09 08:50:16

标签: cucumber cucumber-junit cucumber-java

我想在黄瓜页面写一个数字。请告诉我如何写这个。

场景大纲:输入无效的网址

Given the context "Invalid URL" is open on "Market" 
  When user is on the error 404 page
  Then page not found message is displayed

但我观察到404被作为参数。

2 个答案:

答案 0 :(得分:3)

当然,您只需在步骤定义中将其作为正则表达式(正则表达式)处理。您的步骤定义可以如下所示:

@When("^When user is on the error \"(\\d+)\" page$")
public void When_user_is_on_the_error_page(int errorNum) throws Throwable {

...

}

那将处理一个或多个数字。 \ d代表一个数字,+号代表“1或更多”。

我个人喜欢用双引号(“”)包装我的参数,因为IDE理解它是一个参数,可以帮助你完成自动完成等。

如果您想将其限制为更具体的数字(仅限三位数),您可以将正则表达式细化为[\d]{3}。 Oracle有关于Java正则表达式here的课程。

答案 1 :(得分:0)

使用

When user is on the error 404 page

您可以在以下步骤中使用:

@When("^When user is on the error (.*) page$")
   public void When_user_is_on_the_error_page(int errorNum) {
      ...
    }

(。*)将占用该插槽中的所有内容,并将其用作由()之间的类型定义的变量。在这种情况下,由于以下原因,“ 400”将转换为整数:

(**int** errorNum){ ...}

如果您没有使用正则表达式的实践,那么它会非常有用,因为(。*)没有预定义的类型,它将使您的步骤更易于阅读。