五大自动化测试的Python框架


五大自动化测试的Python框架文章插图
自2018年被评选为编程语言以来 , Python在各大排行榜上一直都是名列前茅 。 目前 , 它在Tiobe指数中排名第三个 , 仅次于Java和C 。 随着该编程语言的广泛使用 , 基于Python的自动化测试框架也应运而生 , 且不断发展与丰富 。
因此 , 开发与测试人员在为手头的项目选择测试框架时 , 需要考虑许多方面的因素 , 其中包括:框架的脚本质量 , 测试用例的简单性 , 以及运行模块可能存在的技术弱点 。 为了避免出现“选择困难症” , 我在此为大家准备了五种Python类型的自动化测试框架 , 以供比较和讨论 。
1.Robot Framework作为最重要的Python测试框架之一 , Robot Framework主要被用在测试驱动(test-driven)类型的开发与验收中 。 虽然是由Python开发而来 , 但是它也可以在基于.Net的IronPython和基于Java的Jython上运行 。 同时 , 作为一个Python框架 , Robot还能够兼容诸如Windows、MacOS、以及Linux等平台 。
使用先决条件在使用Robot Framework(RF)之前 , 您需要先安装Python 2.7.14及以上的版本 。 我推荐您使用Python 3.6.4 , 以确保适当的注释能够被添加到代码段中 , 并能够跟踪程序的更改 。 同时 , 您还需要安装Python包管理器--pip 。
当然 , 您也必须下载相应的开发框架 , 例如:在开发者圈子里比较流行的Pycharm社区版 。 另外 , 由于其代码段本身并不依赖于任何IDE , 因此您完全可以沿用手头既有的IDE工具 。
优点

  • 通过使用关键字驱动测试(keyword-driven-test)的方法 , 它能够帮助测试人员轻松地创建具有可读性的测试用例 , 进而简化了整个自动化的过程 。
  • 用户能够轻松地测试数据中的语法 。
  • 因为是由各种通用工具和测试库所组成 , 所以它不但拥有庞大的生态系统 , 而且可以在单独的项目中使用其各个元素 。
  • 由于拥有许多类型的API , 因此该框架具有高度的可扩展性 。
  • 虽然并非内置功能 , 但是Robot可以通过Selenium Grid(请参见) , 来帮助用户运行各种并行测试 。
缺点虽然有着上述各种便利 , 但是Robot Framework在创建自定义的HTML报告方面比较繁琐 。 您顶多能用它来生成xUnit格式的简短报告 。
另外 , Robot Framework在并行测试方面也并不见长 。
Robot的特点与竞品比较由于Robot具有丰富的内置库 , 并能使用更为简单的面向测试的DSL(Domain Specific Language) , 因此如果您是自动化测试领域的新手 , 并且缺乏开发经验的话 , 那么将它作为Python测试框架要比下面将要提到的Pytest或Pyunit , 更容易上手一些 。 当然 , 如果您需要开发复杂的自动化框架 , 那么还请使用Pytest、或其他类型的Python框架 。
2.Pytest适用于多种软件测试的Pytest , 是另一个Python类型的自动化测试框架 。 凭借着其开源和易学的特点 , 该工具经常被QA(质量分析)团队、开发团队、个人团队、以及各种开源项目所使用 。 鉴于Pytest具有“断言重写(assert rewriting)”之类的实用功能 , 许多大型互联网应用 , 如Dropbox和Mozilla , 都已经从下面将要提到的unittest(Pyunit)切换到了Pytest之上 。
使用先决条件除了基本的Python知识 , 用户并不需要更多的技术储备 。 另外 , 用户只需要有一台带有命令行界面的测试设备 , 并且安装好了Python包管理器、以及可用于开发的IDE工具 。
优点