在 Node.js 上开始使用 Cucumber.js

主要观点:

  • Cucumber.js 是用于自动化的 Node.js 库,可使用纯 JavaScript 和 Selenium WebDriver 测试网站功能,无需像在 Eclipse IDE 中用 Java 写自动化脚本时那样安装 jar 等耗时任务。
  • 必备条件包括了解 Node.js 异步模式和 Promise,使用 Node.js 6.9.4 及 selenium-cucumber-js 模块。
  • 有两个基本组件:Features(如 Google 搜索功能)和 Scenarios(如输入 1+1 应在结果页得到 2)。
  • Features 是带.feature 扩展名的文件,包含多个场景,用纯英语描述功能等。
  • Scenarios 是用户操作及网站响应结果。
  • 展示了 Google 搜索功能测试的示例,包括 feature 文件和 step-definition 文件的代码及作用。
  • 有 page-object 用于在 step 定义文件中访问全局对象,包含搜索相关操作的代码。
  • 测试后会生成动态报告,显示测试结果等信息,可通过 npm test 运行测试,可通过参数控制运行方式。

关键信息:

  • 模块:selenium-cucumber-js、chai
  • 目录结构:features、page-objects、step-definitions、reports、node-modules
  • feature 文件示例:描述 Google 搜索测试的场景
  • step-definition 文件示例:包含各种操作的函数及断言
  • page-object 文件示例:定义 Google 搜索页面的元素和操作
  • npm test 命令及参数:运行测试,可控制超时等

重要细节:

  • Cucumber.js 理解 Gherkin 语言用于测试用例。
  • 页面加载使用 helpers.loadPage 或 driver.get。
  • 用 expect 进行断言,失败时可通过 Promise.reject 处理。
  • 可通过 -b 参数在无头浏览器中运行测试。
阅读 9
0 条评论