我没有获得与JBehave中的Scenario一起使用的标记值。
Scenario: Login
META:
@dataset LoginTest
Given:
applicationUrl http://www.gmail.com
When:
when browser is open
assert:
exists Login txt_UserName
我正在使用此代码:
@BeforeScenario()
public void BeforeSc(@Named("dataset") String dataset) {
System.out.println("@BeforeScenario");
System.out.println("Test Name : "+dataset);
}
但dataset
中的BeforeSc
为空。
我想在LoginTest
方法中获取dataset
BeforeSc
值。
提前致谢。
答案 0 :(得分:1)
@BeforeScenario注释不支持命名参数
它仅支持ScenarioType
参数,可以是:ANY,EXAMPLE,NORMAL
有关详细信息,请参阅此处:http://jbehave.org/reference/stable/annotations.html
@BeforeScenario和@AfterScenario注释允许 在每个场景之前和之后执行的相应方法。 (可选)可以指定ScenarioType仅在执行时执行 那种类型,例如对于通过示例进行参数化的方案。
还有javadoc:
http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/annotations/BeforeScenario.html
http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/annotations/ScenarioType.html
之前为所有方案调用方案方法,无论它们是否具有任何元参数。
如果你想调用一些方法并从一些故事中传递一个hash参数,那么在这些故事中使用“给定”或“何时”步骤来做它。