连接:http://robotframework.org/python
Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,但也能够在 Jython(Java)和 IronPython(.NET) 上运行,提供跨平台支持( Windows、 Linux 或 MacOS )。git
优势:github
经过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员建立易读的测试。编程
测试数据语法简单易用。服务器
生态系统丰富。由各类通用测试库和工具组成,这些工具都是做为独立项目开发的。框架
具备高度可扩展性。异步
可经过 pabot 或 Selenium Grid 执行并行测试。编程语言
缺点:函数
自定义 HTML 报告较为麻烦。工具
若是是针对大范围的库和扩展的 KDT 自动化测试,建议使用此跨平台框架。若是想要添加新的关键字(经过 RF 测试库 API ),须要具有 Java / Python / C 语言的基础知识。
连接:http://redwoodhq.com/
RedwoodHQ 是一个流行的自动化测试工具,它之因此流行是由于大部分流行的编程语言均可以用来编写测试,例如 Java、Python、C# 等。在 RedwoodHQ 的网站界面上,多个测试人员能够在一个平台上协做并运行测试用例。开发者可使用 RedwoodHQ 中出现的 action 关键字来绝不费力地建立和修改测试用例。
你须要作的只是找到须要的 action,拖到测试盒中,而后输入参数并改变它们的值来生成一份完整的测试报告。RedwoodHQ 有一个内置的 IDE(集成开发环境),能够在那里建立、修改以及运行测试用例。RedwoodHQ 是对用户最友好或对测试人员最友好的平台之一,它关注一个重大项目的所有测试过程。
连接:https://jasmine.github.io/
Jasmine 是一个 JavaScript 单元测试框架, 也被称为 JavaScript 的行为驱动开发(BDD)测试框架。适用于网页、Node.js 项目或任何能够运行 JavaScript 的地方。它主要与 AngularJS 配对使用。
优势:
除了 JavaScript ,还能够运行在 Python 和 Ruby 中。若是想在你的服务器端运行客户端测试,它能够帮助你。
被许多 CIs 使用和支持。
内置用于断言的语法。
缺点:
多数状况下,它须要一个测试运行器(如 Karma )。
难以异步测试。
若是你正在寻找一个统一的(客户端 - 服务器)单元测试解决方案,Jasmin 可能会很是适合。
连接:https://docs.pytest.org/en/latest/
若是你的项目比较小、复杂度比较低,Pytest 是最适合的自动化测试平台。pytest 是 python 的一种单元测试框架,与 python 自带的 unittest 测试框架相似,可是比 unittest 框架使用起来更简洁,效率更高。根据 pytest 的官方网站介绍,它具备以下特色:
很是容易上手,入门简单,文档丰富,文档中有不少实例能够参考
可以支持简单的单元测试和复杂的功能测试
支持参数化
执行测试过程当中能够将某些测试跳过,或者对某些预期失败的 case 标记成失败
支持重复执行失败的 case
支持运行由 nose , unittest 编写的测试 case
具备不少第三方插件,而且能够自定义扩展
方便的和持续集成工具集成
Pytest 还有各类可用插件来给现有测试技术和测试用例增长更多功能和多样性。事实上,在其活跃社区中有 300 多个可用的插件。该平台设计用于编写更简单,错误率更小的代码。你能够将 Pytest 与诸如 Selenium 和 Splinter 之类的图形用户界面一块儿使用,来使测试工做更轻松。
结语
对于任何编程语言来讲,都没有绝对理想的测试框架。它取决于测试者的温馨度、项目需求和项目中特定模块所需的测试类型。可用的自动化测试框架有线性自动化、基于模块的测试、函数库框架测试、混合测试、关键词驱动和数据驱动测试等。每一个框架都有它的优势和缺点。上面列举的 python 框架是性能最全面的自动化测试框架。