Cucumber和QAF bdd的区别是什么,QAF有哪些特性在黄瓜中是不可用的,哪些是在黄瓜中可用的,哪些是在QAF Bdd中没有的。
发布于 2019-11-23 00:28:51
让我们首先看一看BDD2和Gherkin语法:
格尔金是黄瓜(以及QAF )理解的语法。BDD2是Gherkin语法的超集。这意味着BDD2支持所有的gherkin关键字和结构,并有更多的条款。以下是BDD2语法中的添加条款:
下面是用BDD2编写的场景:
@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中的新步骤定义。
https://stackoverflow.com/questions/59001140
复制相似问题