3

我想在黄瓜页上写一个数字。请让我知道我该怎么写。

场景大纲:输入无效的 URL

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 被用作参数。

4

2 回答 2

8

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

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

...

}

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

我个人喜欢将我的参数用双引号 ("") 括起来,因为这样 IDE 就会理解它是一个参数,并且可以帮助您完成自动完成等操作。

如果您想将其限制为更具体的数字(比如只有三位数字),您可以将您的正则表达式改进为[\d]{3}. Oracle 在这里有关于 Java 正则表达式的课程。

于 2015-09-09T13:13:38.407 回答
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,这要归功于:

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

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

于 2019-12-11T12:57:33.447 回答