Serenity BDD入门

时间:2019-04-11 07:32:21

标签: java junit serenity-bdd

我正在尝试学习Serenity BDD框架,但是遇到一些需要期望的指导的问题。我已经从github下载了serenity-cucumber4-starter-master。

问题:

  1. AFAIK中,创建了Tasks,Screen和Actions类,但根据该理论,我没有在项目中找到它。
  2. 此示例的实现与剧本设计模式有何不同?

到目前为止,我的代码:

public class LoginTask implements Task {

    private HomepageScreen hp;

    @Override
    @Step("Landing on Guru Bank Website")
    public <T extends Actor> void performAs(T obj) {
        obj.attemptsTo(Open.browserOn(hp));

   }
}

@RunWith(SerenityRunner.class)
public class CucumberTestSuite {

    @Managed(driver = "chrome") 
    private WebDriver browser;

    private Actor john = Actor.named("john");

    // =================================================================================
    @Before
    public void setup() {
        john.can(BrowseTheWeb.with(browser));
    }

    @Test
    public void login() throws InterruptedException {
        //givenThat(john).can(BrowseTheWeb.with(browser));
        System.out.println("Automate web browser");
        //givenThat(john).wasAbleTo(LoginTask.);

        Thread.sleep(9000);
    }


}

givenThat()方法未定义。在哪里获取导入位置?

请帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

givenThat()中定义了net.serenitybdd.screenplay.GivenWhenThen方法(和其他类似方法)。

import static net.serenitybdd.screenplay.GivenWhenThen.seeThat;