import static com.qmetry.qaf.automation.step.client.RuntimeScenarioFactory.scenario;
@Test(description="a sample scenario", ...)
@MetaData("{'TestCaseID':'TC-12345'}")
public void testWithGivenWhenThen() {
scenario().
given("a precondition",()->{
//write appropriate code...
}).
when("some action performed",()->{
//write appropriate code...
}).
then("it should have expected outcome",()->{
//write appropriate code...
}).
execute();
}
Find details like Random data and expression support in property and more in QAF 3.0.0.
import static com.qmetry.qaf.automation.step.client.RuntimeScenarioFactory.scenario;
@MetaData("{'feature':'sample feature'}")
public class myFeature() {
@MetaData("{'TestCaseID':'TC-12345'}")
@Test(description="a sample scenario", ...)
public void scenario1() {
scenario().
given("my stpe-1",()-> step1()).
when("my step-2",()-> step2()).
then("expected something for scenario1",()->{
//write appropriate code or call method(s)...
}).
execute();
}
@MetaData("{'TestCaseID':'TC-12346'}")
@Test(description="a sample scenario", ...)
public void scenario2() {
scenario().
given("this is stpe-1",()-> step1()).
when("i perform step-2",()-> step2()).
and("i also do step-3",()-> step3()).
then("expected something for scenario2",()->{
//write appropriate code or call method(s)...
}).
execute();
}
}