With ScreenPlay, writing clean, maintainable automated acceptance tests bec... Serenity-JS: next generation acceptance testing for Angular-JS in TypeScrip Serenity BDD Tutorial #2 – Introducing Screenplay In this tutorial, we refactor the previous web test using the new ScreenPla... ...
代码语言:txt 复制 // 1. 导入所需的依赖 // Maven: // serenity-core // serenity-screenplay // serenity-junit import net.serenitybdd.junit.runners.SerenityRunner; import net.serenitybdd.screenplay.Actor; import net.serenitybdd.screenplay.Task; import net.serenitybdd.screenplay.actions.Open; im...
Screenplay模式是一种编写自动化验收测试的方式,它建立在良好的软件工程原则之上,使我们能够更容易地编写整洁、易读、可扩展和高可维护性的测试代码。采用这种方式的一个结果就是页面对象模式可能会被彻底重构,转向了SOLID原则。在Serenity BDD中,对Screenplay模式的支持会带来很多令人兴奋的可能性。尤其是: Screenplay模式...
在本文剩余的内容中,我们将会采用Serenity BDD来阐述Screenplay模式,不过这个模式本身在很大程度上是独立于语言和框架的。我们将要测试的就是著名的TodoMVC项目的AngularJS实现(参见图1)。 图1 Todo应用 简单起见,我们将会结合JUnit来使用Serenity BDD,不过我们还可以结合Cucumber-JVM或JBehave来使用Serenity BDD,编写自动化...
Serenity BDD 框架功能丰富、内置了对业界通用的软件测试设计模式(诸如:页面对象模型、Screenplay 模式等)的支持,而 Cucumber 框架的一大优势是可以使用类似自然语言的方式(Gherkin 语法)来编写测试场景。因此,将两者进行集成将拥有叠加的能力。 我们在前文「如何使用 Serenity BDD 进行 UI 测试?」和「如何使用 Cucumber...
Serenity BDD 是支持 3 种不同方法的框架: Cucumber:与独立 Cucumber 具有相同的功能,可以与 UI 或 API 自动化配合使用 页面对象:与 UI 自动化一起使用(selenium) Screenplay:UI 和 API 自动化的设计模式 Serenity BDD 为自动测试人员做了很多事情:
代码来源:net.serenity-bdd/serenity-screenplay Actor.perform(...) private<TextendsPerformable>voidperform(T todo){if(isPending(todo)){StepEventBus.getEventBus().stepPending();}try{notifyPerformanceOf(todo);taskTally.newTask();todo.performAs(this);if(anOutOfStepErrorOccurred()){eventBusInterface...
Serenity BDD 框架功能丰富、内置了对业界通用的软件测试设计模式(诸如:页面对象模型、Screenplay 模式等)的支持,而 Cucumber 框架的一大优势是可以使用类似自然语言的方式(Gherkin 语法)来编写测试场景。因此,将两者进行集成将拥有叠加的能力。 我们在前文「如何使用 Serenity BDD 进行 UI 测试?」和「如何使用 Cucumber...
@OverridepublicT answeredBy(Actoractor){returnactor.recall(key);}} 代码来源:net.serenity-bdd/serenity-screenplay Actor.gaveAsThe(...) public<T>T gaveAsThe(Stringkey){returnrecall(key);}} 代码来源:net.serenity-bdd/serenity-journey 相关方法:...
Serenity BDD 框架功能丰富、内置了对业界通用的软件测试设计模式(诸如:页面对象模型、Screenplay 模式等)的支持,而 Cucumber 框架的一大优势是可以使用类似自然语言的方式(Gherkin 语法)来编写测试场景。因此,将两者进行集成将拥有叠加的能力。 示例工程所使用的 JDK、Maven 与 Serenity BDD 的版本如下:...