首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黄瓜和QAF BDD2有什么区别?

黄瓜和QAF BDD2有什么区别?
EN

Stack Overflow用户
提问于 2019-11-22 20:13:23
回答 1查看 1.3K关注 0票数 1

Cucumber和QAF bdd的区别是什么,QAF有哪些特性在黄瓜中是不可用的,哪些是在黄瓜中可用的,哪些是在QAF Bdd中没有的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-23 00:28:51

让我们首先看一看BDD2和Gherkin语法:

格尔金是黄瓜(以及QAF )理解的语法。BDD2是Gherkin语法的超集。这意味着BDD2支持所有的gherkin关键字和结构,并有更多的条款。以下是BDD2语法中的添加条款:

  • 元数据支持
  • 为示例提供外部数据文件
  • 参数支撑

下面是用BDD2编写的场景:

代码语言:javascript
复制
@smoke @TestcaseId:12345
Scenario:  A scenario is a collection of executable steps of different type

    Given step represents a precondition to an event
    When step represents the occurrence of the event
    Then step represents the outcome of the event

请参阅更多BDD2实例

BDD2看起来像Gherkin,任何gherkin编辑器也能理解它。但这取决于跑步者理解和使用其他特性。您可以在QAF或Cucumber中使用BDD2。当使用黄瓜时,QAF-黄瓜将使黄瓜跑步者获得附加语法特性的好处。

现在让我们来看看Cucumber和QAF的特性。

两者都是开源框架。黄瓜是比较受欢迎和众所周知的,而QAF被不同的企业广泛使用,但不如黄瓜那么受欢迎。

黄瓜专用于使用Gherkin实现BDD。

其中,作为QAF支持编码,关键字驱动和BDD实现使用TestNG。QAF支持QAF BDD,并在Gherkin之外推进QAF BDD2 语法

直到黄瓜4,黄瓜的java实现并不是线程安全的,而是用cucumber 4改变了整个实现体系结构,并开始支持线程安全的并行执行。 QAF从一开始就被称为ISFW,它是线程安全的,支持场景级并行执行。

黄瓜是Gherkin跑步者,可与Junit、TestNG或单独使用。只支持gherkin语法。黄瓜可以运行BDD2 QAF-黄瓜

QAF建立在TestNG的基础上,并具有用于BDD的本机TestNG实现。您可以使用QAF-黄瓜来使用黄瓜流线器。

黄瓜没有内置的web、移动、web服务测试实现。要么您需要编写自己的实现,要么使用支持黄瓜的第三方框架。使用黄瓜进行不同黑匣子测试的需要。 QAF内置了不同设计理念的Web、Mobile、WebServices支持,以及资源和测试数据管理,以及与第三方工具(如jira、ALM、QMetry、Rally等)的集成。

黄瓜支持不同的编程语言。

QAF仅限于Java。

黄瓜通过使用gherkin语法中的示例来支持数据驱动测试。 QAF通过使用Gherkin或BDD2语法中的示例来支持数据驱动测试。它还支持外部数据提供者和数据提供者拦截器.

黄瓜有吊钩的场景。

QAF支持所有带有附加步骤侦听器的TestNG侦听器。此外,它还支持webdriver、webelement侦听器、结果更新程序和数据提供程序拦截器。

直到黄瓜4,步骤实施是需要使用正则表达式的。在Cucumber 4中,类似于QAF的新路可用于消除步骤定义中的正则表达式。 QAF使用简单易用的方式提供step的描述

黄瓜有预定义的参数类型支持作为方法参数。它还支持自定义类型。对于任何自定义类型,都需要实现和配置类型注册表。用户需要在步骤定义中使用已定义的参数类型。

QAF本机支持所有复杂类型,包括Map、List和任何自定义类。它还具有自定义参数转换行为的转换支持。在步骤描述中,不管方法参数类型如何,用户都可以为参数占位符使用有意义的名称。

黄瓜不支持BDD中的步骤定义。 QAF还支持BDD中的新步骤定义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59001140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档