Playwright BDD 测试 - 你不需要 Cucumber!

2024-12-13   出处: plainenglish  作/译者:Francesco Borzì/ 溜的一比

网上充满了建议将 Playwright 和 Cucumber 结合起来以实现 BDD 测试的文章。结果通常是,Cucumber 作为测试运行器,而 Playwright 作为库使用。

听起来有点过于复杂和麻烦?如果我告诉你,有一种方法可以使用 Playwright 作为测试运行器,并以类似 Cucumber 的风格编写 BDD 测试呢?

但我们还是先从基础开始!

什么是 Playwright?

Playwright 是由微软开发的一个强大、开源的端到端(e2e)测试框架,它正在迅速成为 Web 自动化的新标准。

使用 Playwright 作为测试运行器有很多好处,例如页面元素的自动等待、并行测试执行、捕捉屏幕截图和视频、自动浏览器初始化等。

什么是行为驱动开发(BDD)测试?

行为驱动开发(BDD)是以一种即使是非开发人员也能理解的方式来编写测试。

这个想法是用简单的、日常的语言来描述应用程序的行为。这使团队能够更容易地协作开发功能,并及早发现漏洞,因为每个人都可以跟随测试的操作进行理解。

Cucumber 和 Gherkin 语言

Cucumber 是一个常用的 BDD 测试工具,它使用一种简单的语言,叫做 Gherkin。这让你可以用普通的英语编写测试,因此即使是非技术人员,测试也很容易阅读和理解。

使用 Gherkin 描述的测试用例示例:

Feature: 用户登录
  Scenario: 成功登录
    Given 用户在登录页面
    When 用户输入有效凭据
    And 用户点击登录按钮
    Then 用户被重定向到仪表板

Playwright 支持 BDD 测试吗?

在撰写本文时,Playwright 本身并不支持 BDD 测试,尽管确实有很多人对此有需求。

正如我在文章开头提到的,很多教程建议你将 Playwright 和 Cucumber 结合使用,把 Cucumber 作为测试运行器,而 Playwright 作为库。

不幸的是,这种设置有几个缺点:它给你的项目添加了额外的依赖,阻碍你充分利用 Playwright 的潜力——尤其是在 Playwright 本身可以同时作为测试框架和运行器时。

如何使用 Playwright 编写 BDD 测试?

好消息是:多亏了 Playwright-BDD 工具,你实际上可以使用 Playwright 运行 BDD 测试!

Playwright-BDD 是由 Vitaliy Potapov 开发的一个开源项目,它可以自动将 BDD 场景转换为 Playwright 测试。这个工具文档详尽,受到了开发人员的欢迎。

在看到网上的多次推荐后,我偶然发现了它,并在工作中的一个重大项目中试用了它,效果非常好。我甚至在他们的 Discord 服务器上联系了 Vitaliy,他非常乐于帮助和响应。

文档中提供了许多不同用例的示例,并且还支持 NX。

如果你计划创建一个新的端到端测试套件(或使现有的测试现代化)并对 BDD 感兴趣,我强烈建议你尝试这个项目!

结论

  • Playwright 正在迅速成为现代端到端测试的标准框架,提供了像元素自动等待这样的强大功能。
  • 为了充分发挥 Playwright 的潜力,它也应该作为测试运行器使用。
  • 如果你想以 BDD 风格编写测试而不依赖 Cucumber 作为测试运行器,请务必查看 Playwright-BDD 项目。

声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
/86 人阅读/0 条评论 发表评论

登录 后发表评论
最新文章