• 0
  • 0
分享

常用的Python自动化测试框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。软件测试的自动化在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试以人为驱动的测试行为转化为机器执行的一种过程。

实现软件测试自动化用到一些Python自动化测试框架:

一、Robot Framework

Robot Framework主要被用在测试驱动类型的开发与验收中。虽然是由Python开发而来但也可以在基于.Net的IronPython和基于Java的Jython上运行。作为一个Python框架Robot还能够兼容诸如Windows、MacOS、以及Linux等平台。

使用先决条件:在使用Robot Framework之前先安装Python 2.7.14及以上的版本。推荐使用Python 3.6.4以确保适当的注释能够被添加到代码段中并能够跟踪程序的更改。同时还需要安装Python包管理器--pip。下载相应的开发框架,如:在开发者圈子里比较流行的PyCharm社区版。另外由于其代码段本身并不依赖于任何IDE,因此完全可以沿用手头既有的IDE工具。

二、Pytest

适用于多种软件测试的Pytest是另一个Python类型的自动化测试框架。凭借着其开源和易学的特点该工具经常被QA团队、开发团队、个人团队、以及各种开源项目所使用。鉴于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

行为驱动开发(behavior-driven development,BDD),是一种基于敏捷软件开发的方法。它能够鼓励开发人员、业务参与者和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仅适用于行为驱动测试。


作者:骨灰级收藏家

原文链接:https://blog.csdn.net/JACK_SUJAVA/article/details/126288529

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言业务:银行类app具体模块业务讲解:掌上生活(消费/理财)消费:与电商平台业务类似饭票:GPS定位城市服务、饭票购买消费、餐厅查询、代金券、周三五折、banner图、我的饭票、我的抵扣券影票出行费用代缴模块 水费、电费、天然气(暖气费用代缴)便民服务 住房公积金、医保、社保、交通罚款、商业保险(惠民保)、个人信用报告测试需求文档的编写(0.5-1天):测试需求文档是对需求文档中的需求点进行整理成测试人员可测试的功能点的过程实战:测试需求会写、饭票业务比较熟悉控件:控件也称为组件或者构件,通常俗称第三方开发控件,是软件中可重复使用的功能模块,如具有复杂功能的菜单、表格、报表或者用户界面等,可...
            0 0 1895
            分享
          • Apifox 新版本上线啦!欢迎升级使用:界面右上角【设置】-> 【关于 Apifox】->【检查更新】看看本次版本更新主要涵盖的重点内容,有没有你所关注的功能特性:支持 WebSocket API;自动化测试功能升级;Web 端新增部分功能快捷键;支持自定义设置版本更新及安装提醒。01 支持 WebSocket API最新版本的 Apifox 支持对 WebSocket 接口进行调试,目前正处在 Beta 公开测试阶段。点击左侧的「+」按钮,选择「新建 WebSocket 接口(Beta)」,输入 WebSocket 接口的 URL 即可完成握手并建...
            0 0 1976
            分享
          •   出现迷茫或焦虑的原因是什么?  也许每个人的原因不一样,但不外乎是下面这些原因叠加的结果。  1、敏捷和DevOps开发模式的推行,虽然20年的历史是否已经证明“敏捷已经失败了” 暂且不管,但敏捷/DevOps之风刮的还是很厉害,开发和测试越来越融合,一些头部企业正在取消“测试工程师”这样的岗位,从国外的微软到国内的腾讯,而不少企业也在不断追求越来越高的开发测试比,或者现在只招“测试开发工程师”。  2、测试的天花板比较低,自己上升的空间比较小,在职位上升通道上,测试工程师很难成为研发部门负责人、研发总监、研发VP、CTO等;虽然有些公司专门也为测试人员设置了专家、高级专家、架构师这样的岗...
            0 0 1310
            分享
          •   简介  在如何有效地测试Go代码一文中,我们谈论了单元测试,针对它的两大难点:解耦、依赖,提出了面向接口、mock 依赖的解决方案。同时,该文还讨论了一些 Go 领域内的实用测试工具,欢迎读者阅读。单元测试关注点是代码逻辑单元,一般是一个对象或者一个具体函数。我们可以编写足够的单元测试来确保代码的质量,当功能修改或代码重构时,充分的单元测试案例能够给予我们足够的信心。单元测试之上是开发规范。在敏捷软件开发中,有两位常客:测试驱动开发(Test-Driven Development,TDD)和行为驱动开发(Behavior-driven development,BDD)。它们是实践与技术,同...
            0 0 926
            分享
          •   一直以来,在整个IT行业中,一说起软件测试这个工作,人们脑子中浮现的都是一群软件测试工程师用双手在键盘上或在手机上“点点点”的场景,所以很长一段时间,软件测试工程师都被戏称为“点点点”工程师。不过,现在0202年都过了这么久了,如果还抱着这种态度来看待“软件测试”这个职业,未免有点太过时了。这就跟前几年台湾人民觉得祖国大陆人民吃不起茶叶蛋一样,“Out的妈妈给Out开门,Out到家了”。  况且,现在的软件测试跟传统的软件测试相比已经发生了非常大的变化,不管是测试范围还是测试手段,都有很大的不同。所以,现在我们更专业的叫法是“测试开发工程师”,从这个名字就可以看出来,传统的点点点已经没有市...
            0 0 1016
            分享
      • 51testing软件测试圈微信