Serenity BDD 如何与 Cucumber 进行集成?
我们知道,Serenity BDD 和 Cucumber Java 是两个常用的、适用于 Java 语言的自动化测试框架。Serenity BDD 框架功能丰富、内置了对业界通用的软件测试设计模式(诸如:页面对象模型、Screenplay 模式等)的支持,而 Cucumber 框架的一大优势是可以使用类似自然语言的方式(Gherkin 语法)来编写测试场景。因此,将两者进行集成将拥有叠加的能力。
阅读更多我们知道,Serenity BDD 和 Cucumber Java 是两个常用的、适用于 Java 语言的自动化测试框架。Serenity BDD 框架功能丰富、内置了对业界通用的软件测试设计模式(诸如:页面对象模型、Screenplay 模式等)的支持,而 Cucumber 框架的一大优势是可以使用类似自然语言的方式(Gherkin 语法)来编写测试场景。因此,将两者进行集成将拥有叠加的能力。
阅读更多前面我们在「如何使用 Cucumber Java 进行 UI 测试?」一文中,以登录 GitHub 并在页面创建 Issue 为例介绍了 Cucumber 与 Selenium 的集成,但其中的示例工程未使用依赖注入工具,所有对象的新建均是使用原生 new 关键字来实现的。接着,我们在上文「如何在 Cucumber Java 中使用 PicoContainer 进行依赖注入?」介绍了在 Cucumber 中使用 PicoContainer 进行依赖注入的方法。尽管 PicoContainer 比较轻量,也是 Cucumber 官方推荐的依赖注入工具,但在 Java 技术栈,Spring 或 Spring Boot 框架才是主流,除了提供依赖注入功能外,其还提供诸多其它实用功能(如灵活的配置、方便的数据库连接、易用的组件集成方法等),所以探索 Cucumber 与 Spring Boot 的集成很有必要。本文即接着前面的两篇文章,同样以登录 GitHub 并在页面创建 Issue 为测试场景,以示例工程的方式演示 Cucumber 与 Spring Boot 的集成,示例工程实现语言为 Java,使用的浏览器测试工具为 Selenium,工程使用 Maven 管理。
阅读更多上文「如何使用 Cucumber Java 进行 UI 测试?」以登录 GitHub 并在页面上创建 Issue 为例演示了 Cucumber Java 与 Selenium 的集成,以及 UI 测试工程的搭建及测试用例的编写。您可能注意到,上文演示的测试工程未使用依赖注入工具,对象的创建均是使用最原生的 new 方式来实现的。这对于大型工程来说,会显得非常笨拙。本文主要介绍 Cucumber Java 与依赖注入框架 PicoContainer 的集成,本文将对上文的测试工程进行改造,将所有手动创建对象的地方都交由 PicoContainer 来自动实现。
阅读更多上文「Cucumber 是什么?如何使用 Cucumber Java 进行 API 测试?」介绍了 Cucumber 中的基本概念,并以实例的方式演示了如何使用 Cucumber Java 进行 API 测试。本文基于此,以在页面创建 GitHub Issue 为例进一步探索如何使用 Cucumber Java 进行 UI(浏览器)测试。示例工程实现语言为 Java,使用的浏览器测试工具为 Selenium,工程使用 Maven 管理。
阅读更多Cucumber 是一个支持 BDD(Behaviour-Driven Development,行为驱动开发)的自动化测试工具。 本文首先会对 BDD 进行介绍,接着对 Cucumber 中用到的概念进行介绍,最后以样例的方式演示如何使用 Cucumber Java 进行 API 测试。
阅读更多