将 API 测试添加到您的 Nightwatch 测试自动化
当被测试的软件公开 REST API 端点时,直接测试 API 可能会比通过 UI 更有效率。
Nightwatch 于 2014 年 1 月发布,最初由 Andrei Rusu 创建,旨在以简单明了的方式编写自动化 UI 测试,并且尽可能减少配置和额外库的需求。
发布后不久,Nightwatch 就稳步增长,现已成为最受欢迎的用于 Web 应用程序和网站的 Node.js 端到端测试解决方案之一。
从 Evan You(Vue.js 的创建者)创建的第一个 Github Issue 以及与 Vue.js 框架的无缝集成,到被收录在 2017 ThoughtWorks 技术雷达 中,Nightwatch 已成为更广泛的自动化测试行业中公认的知名品牌。
我们不打算构建一个支持大量插件和自定义功能的灵活工具,而是旨在提供一个开箱即用、包含所有必要功能的工具。
我们认为,为了编写测试,您应该只专注于编写测试,而不必添加多个外部插件和依赖项。根据我们的经验,这通常会导致花费越来越多的时间来维护依赖项和解决配置问题,而不是编写实际的测试。
但是,我们确实提供了一些机制,以便在需要时 扩展现有的 API 命令和断言,您也可以 以编程方式使用 Nightwatch。我们还尽力确保 Nightwatch 遵循业界公认的做法,并努力与其他现有工具兼容。
您甚至可以在 Nightwatch 中编写 Node.js 单元测试 来测试您的后端 API。这些测试使用相同的断言库、相同的语法和运行器。我们甚至可以在同一次测试运行中将端到端测试与单元/集成测试相结合。
此版本添加了对最新 Microsoft Edge 浏览器的集成支持、改进的并行支持以及其他一些功能和改进(例如使 API 能够与链式调用和 Promise 一起使用)。
我们正在努力发布下一个主要版本,该版本将建立在 Selenium Webdriver 之上,这将使测试运行更加稳定和可靠。
我们还将添加一些新功能,例如对 Chrome Dev Tools 协议、文件上传和新 API 的支持。
有关文档中存在的问题(例如不一致、错别字或错误),可以在 Docs Github 存储库 上报告。
如果您想贡献 API 命令示例,可以在以下文件夹中添加它们:github.com/nightwatchjs/nightwatch-docs/tree/main/api/method。这些示例会自动构建到各个 API 命令页面中。
例如,clearValue 页面是根据 github.com/nightwatchjs/nightwatch-docs/blob/main/api/method/clearValue.md 构建的。
鼓励您在 Github 讨论 页面上提出有关 Nightwatch 或其 API 用法的任何问题。如需报告错误,请在 Github 上提交新的 错误报告。 功能请求 也受欢迎。
新贡献者:请还查看以下资源
我们在 Discord 上设置了一个新的聊天服务器,您可以在那里与 Nightwatch 团队成员和其他用户聊天。请使用此链接加入
https://discord.gg/SN8Da2X
我们在 Twitter 上的账号是 @nightwatchjs,我们会在那里发布有关版本和其他类型公告的更新。
此外,您还可以使用 StackOverflow Nightwatch.js 标签。
来自更广泛的 Nightwatch 社区的精选文章、指南和视频教程列表。请注意,此处列出的视频和文章并非由 Nightwatch 团队创建,因此我们无法保证其完全准确性。
当被测试的软件公开 REST API 端点时,直接测试 API 可能会比通过 UI 更有效率。
本指南将逐步向您展示如何创建一个启用 TypeScript 的 Nightwatch 自动化测试套件。
来自 Test Automation University 的有关使用 Nightwatch 自动化 Web UI 测试的完整视频课程。
有关如何重构 Nightwatch 测试用例以使用页面对象模型 API 和页面命令的逐步指南。
了解如何使用 Nightwatch 和 Axe 可访问性工具 编写自动化可访问性测试。本教程将解释如何为 Web 内容可访问性指南编写断言,以及如何检测违反可访问性规则的元素。
Nightwatch 协作者 Domenico 解释了为什么端到端测试(以及其他形式的测试)对他来说是一个重要主题。对测试金字塔概念的很好解释,以及对自动化测试的良好介绍。
Domenico 演示了如何使用 Browserstack 云测试平台使用 Nightwatch 运行端到端测试。您可以在他的 Youtube 频道 上找到其他与 Nightwatch 相关的编码视频。
有关如何使用 Nightwatch 提高 Express 应用程序安全性的扩展指南。
Percy.io 工程师 David Jones 介绍了如何在 Nightwatch.js 测试中添加 Percy 快照以进行自动视觉测试。
流行的 Drupal CMS 的核心 JavaScript 维护者 Sally Young 介绍了在 Drupal 8.6 中集成 Nightwatch 的情况。
为 Firefox 公共数据报告 提供支持的平台,这是一个关于 Firefox 桌面用户活动、行为和硬件配置的每周公开报告。使用 React 构建,并使用 Nightwatch v1.2
AWX 提供了一个基于 Web 的用户界面、REST API 和任务引擎,这些引擎构建在 Ansible 之上。AWX 使用 Python 构建,并使用 Nightwatch v0.9。
Worldview 是一个交互式界面,用于浏览全球全分辨率卫星图像。使用 React 构建,并使用 Nightwatch v0.9。
WebRTC 示例 这是一个小型示例集合,演示了 WebRTC API 的各个部分。使用 Nightwatch v1.1。
在 BrowserStack Automate 基础设施上运行 Nightwatch 测试的示例。使用 Nightwatch v1.0
随时 告诉我们 应该在这个页面上列出的任何文章或开源项目。