主要观点:
- 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 参数在无头浏览器中运行测试。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。