我想在黄瓜页上写一个数字。请让我知道我该怎么写。
场景大纲:输入无效的 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 被用作参数。
我想在黄瓜页上写一个数字。请让我知道我该怎么写。
场景大纲:输入无效的 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 被用作参数。
当然,您只需在步骤定义中将其作为正则表达式 (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 正则表达式的课程。
和
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){ ...}
如果您没有使用正则表达式,它会非常有用,因为它会使您的步骤更易于阅读,因为 (.*) 没有预定义的类型。