【发布时间】:2017-06-27 05:00:27
【问题描述】:
所以我写了一个 Angular 应用程序,我想实现端到端测试,所以我在互联网上搜索了一个工具。我发现 Protractor 和 Cucumber 是两个流行的工具,但我对它们之间的区别感到困惑。
【问题讨论】:
标签: javascript angularjs protractor e2e-testing cucumberjs
所以我写了一个 Angular 应用程序,我想实现端到端测试,所以我在互联网上搜索了一个工具。我发现 Protractor 和 Cucumber 是两个流行的工具,但我对它们之间的区别感到困惑。
【问题讨论】:
标签: javascript angularjs protractor e2e-testing cucumberjs
Cucumber 和 Protractor 不做同样的工作来比较
Cucumber 使我们能够以行为驱动开发 (BDD) 风格编写自动化测试。它可以与 Jasmine 或 Mocha 作为 Protractor API 上的测试框架进行对比
Protractor 是 WebDriver Js 的包装器,用于编写 e2e 测试以与浏览器交互。您可以使用以下任何框架编写量角器测试
当您需要以 BDD 样式编写测试时,您将在 Protractor 配置中将黄瓜作为自定义框架 - 验收测试
我想这足以让您入门,您可以阅读更多关于 Protractor with Cucumber here 的信息。有 npm 包 - cucumber 和 protractor-cucumber-framework 将启用此集成
【讨论】:
是的,“量角器”和“黄瓜”之间存在巨大差异。 Protractor 是一个工具,Cucumber 只是一个框架(更准确地说,它是一个 BDD(行为驱动框架))。 所以首先我会根据我的经验来描述 Cucumber:- 它非常易于使用,我们只需要运行一个命令来安装 Cucumber,然后你就可以使用它了。它使用 GHERKIN 语言,这是一种基本的英语语言。所以我们使用 Gherkin 编写验收测试,我们曾经将其称为功能文件并将其保存为“.feature” ex-:
Feature: Check validation of Google search button
Scenario: Finding results on the basis of search
Given I am on google home Page
When I type Europe in search field
And I click on search button
Then i should see some search result
这就是用 Gherkin 语言编写的功能文件的外观。此文件适用于非技术人员,例如 BA、经理,他们只想知道在一个场景中应该涵盖哪些内容。 现在,什么是量角器: - 它是基于“Webdriver”构建的工具。如果您以前曾在 Selenium 上工作过,那么您一定知道这个术语。所以基本上我们使用这个工具来处理页面定位器。为此,我们有多个元素查找器,例如 CSS、xpath 等。简而言之,我们通过量角器与我们的应用程序通信,并通过 Cucumber 提供一个抽象层,以便非技术人员能够理解它,Cucumber 增加了更多的清晰度和可读性到我们的自动化测试脚本。阅读完所有这些后,您必须访问这两个链接: https://docs.cucumber.io/ https://www.protractortest.org/#/
【讨论】:
用黄瓜。更好地将测试描述和实现分开!
【讨论】: