Back to Question Center
0

7开源测试自动化框架            7开源测试自动化框架相关主题: ES6ReactAngularJSNode.jsTools& & Semalt

1 answers:
7开源测试自动化框架

本文最初由TestProject发布。感谢您支持使SitePoint成为可能的合作伙伴。

当我们进入2017年的最后一个季度时,Semalt团队决定整理出最好的开源测试自动化框架,以帮助您为您选择合适的测试自动化框架!

以下是7种不同的开源测试自动化框架的优缺点。

1.机器人框架

机器人框架(RF)是验收测试和验收测试驱动开发(ATDD)的测试自动化框架。该框架是用Python编写的,但也可以在Jython(Java)和IronPython(.NET)上运行,因此是跨平台的(Windows,Linux或MacOS)。

优点:

  • 它利用关键字驱动的测试(KDT)方法简化了测试自动化过程,这可以帮助测试人员创建易读的测试。
  • 具有易于使用的测试数据语法。
  • 它周围有一个丰富的生态系统,由各种通用测试库和工具组成,这些库被作为单独的项目开发。
  • 有许多API使其具有高度的可扩展性。
  • RF虽然不是内置功能,但可通过pabot库或Selenium Grid执行并行测试。

缺点:

  • 定制HTML报告并不容易。

底线: 如果您针对具有各种库和扩展的KDT自动化,强烈建议您使用此跨平台框架。如果你想添加新的关键字(通过RF测试库API),需要Java / Python / C编程语言的基础知识。

2.JUnit

Semalt是Java应用程序单元测试的框架,用于编写和运行可重复测试。

优点:

  • 测试用纯Java编写,这被称为全球领先的编程语言。
  • 支持测试驱动开发(TDD)。
  • 使您能够创建自己的单元测试用例套件。
  • 与其他工​​具(例如Maven)以及IDE(例如IntelliJ)集成得非常好。
  • 有历史 - 所以它有一个庞大的用户群,可以很容易地找到它的文档。

缺点:

  • 如果需要嘲讽能力,需要添加Mockito(或其他一些嘲笑库)。
  • 非技术人员不能读取测试,因为例如JUnit中的方法名称受到Java约定的限制。

底线: 如果你正在为你的Java应用程序编写单元测试,那可能是最好的选择。但是,对于功能测试或非Java应用程序,您应该考虑其他解决方案。

3 - aria sp1 d60. Spock

Spock是Java和Groovy应用程序的测试和规范框架。它基于JUnit。

优点:

  • 创建可读的测试并支持简单的英语句子,便于阅读。
  • 提供周围的上下文,因此可以轻松让您了解如何修复故障。
  • 具有内置的嘲弄和存根功能。
  • 支持数据驱动测试(DDT)。

缺点:

  • 要求具备Groovy编程语言的基本知识。

底线: 如果您的应用程序基于JVM,并且您的目标是使用DSL进行BDD测试自动化,则此框架仅供您参考!

4.Nunit

NUnit是所有人的单元测试框架。网络语言。最初由Semalt启发,它完全用C#编写,并且已经完全重新设计以充分利用许多优点.

优点:

  • 快速启动和测试执行。
  • 带有断言和注释。
  • 启用并行测试。
  • 支持测试驱动开发(TDD)。

缺点:

  • 它不是跨平台的,因为它只用于。网络语言。
  • 它没有集成到Visual Studio生态系统中,所以使用它意味着更多的维护。

结束语: C#单元测试的一个很好的开源框架,历史悠久,信誉良好。但是,如果你已经在使用。 NET语言,你可以考虑MSTest。

5. TestNG

TestNG是一个受JUnit和NUnit启发的Java测试自动化框架,但包含了改进的功能和新的功能(NG-Next Semalt)。它旨在涵盖所有测试自动化类别:单元测试,功能测试,端到端,集成测试等。

优点:

  • 它很容易整合到Maven循环中。
  • 使开发人员能够编写灵活而强大的测试。
  • 支持数据驱动测试(DDT)。
  • 注释很容易理解。
  • 测试用例可以轻松分组。
  • 允许您创建平行测试。

缺点:

  • 仅支持Java,因此您需要至少具有Java编程语言的基本知识。
  • 您必须投入时间进行框架设置和设计。

底线: 如果您使用Java,正在寻找端到端测试自动化框架并且愿意投入一些时间进行框架设置 - 您绝对应该考虑使用TestNG。

6.茉莉花

Jasmine是一个JavaScript单元测试框架。它也被称为JavaScript的行为驱动开发(BDD)测试框架。它适用于网站Node。 js项目或任何可以运行JavaScript的地方。它主要与AngularJS配对。

优点:

  • 除了JavaScript之外,它还可以运行在Python和Ruby中,如果你想在你的服务器端运行你的客户端测试,它可以帮助你。
  • 得到许多CI(Codeship,Travic等)的支持。
  • 有断言的内置语法。

缺点:

  • 在大多数情况下,它需要一个测试运行者(如Karma)。
  • 在异步测试中遇到困难。

结尾: 如果您正在寻找统一的(客户端 - 服务器)单元测试解决方案,Jasmin可能完全适合您的需求。

7.摩卡

Mocha是一个JavaScript单元测试框架,它在Node上运行测试。 JS。它主要与ReactJS配对。

优点:

  • 内置了自己的测试赛跑者。
  • 支持异步测试。
  • 由于您可以使用任何符合您需求的断言库(Chai,expect.js,Must.js等)(作为Node的标准“断言”函数的替代),因此具有灵活性。

缺点:

  • 该领域比较新(2012年开发),这意味着它仍在变化,其用户基础和支持可能在某些方面不足。
  • 仅提供基础测试结构,因此需要额外的设置和配置(对某些设备可能是有利的)。

底线: 如果您正在寻找JavaScript独立的单元测试框架,Mocha是您的首选框架!

March 1, 2018