如何使用 Serenity BDD 进行 API 测试?

前文「如何使用 Serenity BDD 进行 UI 测试?」介绍了使用 Serenity BDD 与 Selenium 进行 Web UI 测试的方法,但 Serenity BDD 不仅限于进行 UI 测试,还可以使用其进行 REST API 测试。本文即介绍使用 Serenity BDD 与 REST Assured 进行 API 测试的方法。

阅读更多

如何使用 Screenplay 模式编写 UI 测试用例?

Screenplay 模式是一个用于软件测试的设计模式,本文探索如何使用 Screenplay 模式编写 Web UI 测试用例。

本文首先会介绍 Screenplay 模式的基本概念;接着,以登录 GitHub 并在页面创建 Issue 为测试场景,来分析该场景中的操作者与行为分别对应 Screenplay 模式中的哪个部分;最后,针对该测试场景,使用 Serenity BDD 测试框架来编写满足 Screenplay 模式的测试用例,示例工程使用 Maven 管理。

阅读更多

如何使用 Serenity BDD 进行 UI 测试?

Serenity BDD(Behavior Driven Development,行为驱动开发)是一个支持 Java 语言的 BDD 自动化测试框架。Serenity BDD 框架功能强大,吸纳了业界诸多通用测试规范,支持页面对象模型(Page Object Model),可与 JUnit、Cucumber、Selenium、JBehave 等多种流行测试框架进行集成。此外,Serenity BDD 还提供详细的测试报告,可以直观呈现每个步骤的执行结果、页面截图、耗时情况,以及整体测试覆盖率等各项数据与指标。

阅读更多

Cucumber Java 如何与 Spring Boot 进行集成?

前面我们在「如何使用 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 中使用 PicoContainer 进行依赖注入?

上文「如何使用 Cucumber Java 进行 UI 测试?」以登录 GitHub 并在页面上创建 Issue 为例演示了 Cucumber Java 与 Selenium 的集成,以及 UI 测试工程的搭建及测试用例的编写。您可能注意到,上文演示的测试工程未使用依赖注入工具,对象的创建均是使用最原生的 new 方式来实现的。这对于大型工程来说,会显得非常笨拙。本文主要介绍 Cucumber Java 与依赖注入框架 PicoContainer 的集成,本文将对上文的测试工程进行改造,将所有手动创建对象的地方都交由 PicoContainer 来自动实现。

阅读更多

倭寇本性不改,我們不得不防

加沙平民正在遭遇的「種族滅絕式大清洗」讓我們驚歎如此「現代的社會」竟然還有如此殘暴的事實在發生。我們在歷史書上所看到喪心病狂的「活埋」、「萬人坑」竟然又一次在 21 世紀的今天上演。加沙幾個月的時間,已有超過兩萬平民喪生,這都讓我們驚歎不已。但想想倭寇當年在南京製造的慘絕人寰的大屠殺,只恐怕其較以色列只會過猶而無不及,且不說倭寇使用的手段更加殘暴與惡劣,僅就平民死亡的人數而言,恐怕就比這個慘烈 10 倍都不止吧!

阅读更多