Python|自动化测试常用的Python框架有哪些?

自动化测试常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce 。 Pytest、Robot Framework和UnitTest主要用于功能与单元测试 , Lettuce和Behave仅适用于行为驱动测试 。
一、Robot FrameworkPython
测试框架之一 , 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 。
二、Pytest
适用于多种软件测试的Pytest , 是另一个Python类型的自动化测试框架 。 凭借着其开源和易学的特点 , 该工具经常被QA(质量分析)团队、开发团队、个人团队、以及各种开源项目所使用 。 鉴于Pytest具有“断言重写(assert rewriting)”之类的实用功能 , 许多大型互联网应用 , 如Dropbox和Mozilla , 都已经从下面将要提到的unittest(Pyunit)切换到了Pytest之上 。
除了基本的Python知识 , 用户并不需要更多的技术储备 。 另外 , 用户只需要有一台带有命令行界面的测试设备 , 并且安装好了Python包管理器、以及可用于开发的IDE工具 。
三、UnitTest/PyUnit
UnitTest/PyUnit一种标准化的针对单元测试的Python类自动化测试框架 。 基类TestCase提供了各种断言方法、以及所有清理和设置的例程 。 因此 , TestCase子类中的每一种方法都是以“test”作为名词前缀 , 以标识它们能够被作为测试用例所运行 。 用户可以使用load方法和TestSuite类来分组、并加载各种测试 。
可以通过联合使用 , 来构建自定义的测试运行器 。 正如我们使用Junit去测试Selenium那样 , UnitTest也会用到UnitTest-sml-reporting、并能生成各种XML类型的报告 。 由于UnitTest默认使用了Python , 因此我们并不需要什么先决条件 。 除了需要具备Python框架的基本知识 , 您也可以额外地安装pip、以及用于开发的IDE工具 。
四、Behave
行为驱动开发是一种基于敏捷软件开发的方法 。 它能够鼓励开发人员、业务参与者和QA人员 , 三者之间的协作 。 Python测试框架Behave允许团队避开各种复杂的情况 , 去执行BDD测试 。 从本质上说该框架与SpecFlow和Cucumber相似 , 常被用于执行自动化测试 。 用户可以通过简单易读的语言来编写测试用例 , 并能够在其执行期间粘贴到代码之中 。 而且 , 那些被设定的行为规范与步骤 , 也可以被重用到其他的测试方案中 。
任何具备Python基础知识的人都可以使用Behave 。 其他先决条件还包括:先安装Python 2.7.14及以上的版本 。 通过Python包管理器或pip来与Behave协作 。 大多数开发人员会选择Pycharm作为开发环境 , 当然您也可以选用其他的IDE工具 。
五、Lettuce
Lettuce是另一种基于Cucumber和Python的行为驱动类自动化工具 。 Lettuce主要专注于那些具有行为驱动开发特征的普通任务 。 它不但简单易用 , 而且能够使得整个测试过程更流畅、甚至更有趣 。 安装带有IDE的Python 2.7.14、及以上的版本 。 当然 , 您也可以使用Pycharm或任何其他IDE工具 。 同时 , 您还需要安装Python包管理器 。
自动化测试的Python框架 , Pytest、Robot Framework和UnitTest可主要用于功能与单元测试 , 而Lettuce和Behave仅适用于行为驱动测试 。 对于功能测试而言 , Pytest是的 。 如果您是基于Python自动化测试的新手 , Robot Framework是的入门工具 。 虽然其功能有所受限 , 但是它非常容易上手 。
【Python|自动化测试常用的Python框架有哪些?】对于基于Python的BDD测试而言 , Lettuce和Behave同样优秀 。 不过 , 如果你已经有了一定的Pytest经验 , 那么请使用Pytest-bdd , 希望本文能够帮助您选出合适的Python测试框架 , 并顺利开展测试工作 。
推荐阅读
- nasa|NASA超重型运载火箭完成关键测试,将用于重返月球和登陆火星
- spacex|SpaceX最早7月1日发射星舰SN20:首次轨道测试,成功几率不高
- 慢性肾脏病|世界肾脏日丨让肾病患者更好活着!关于自动化腹膜透析你了解多少?
- spacex公司|SpaceX星舰原型SN11已运到发射平台 即将测试起飞
- 火星车|美国“毅力”号火星车完成着陆后首次行驶测试
- 专业|“成年人的欲望,3秒钟就过期” |专业焦虑测试
- spacex|SpaceX SN10刚炸了半天,SN11就已火速准备测试
- spacex|SpaceX星舰原型机测试飞行着陆均成功,但随后突然爆炸
- spacex|SpaceX星舰SN10完成首次静态点火测试
- 蘑菇|昆明完成首批剧毒蘑菇快速检测试剂盒研发生产 3-5分钟可完成检测
