• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、编写Bugreport的原则Bugreport是测试中最重要的一部分,也是测试人员价值的终极体现,一个有效的Bugreport,在编写的时候需要遵循以下原则:Bug可重现,尽可能找到重现规律。测试人员在编写Bugreport之前必须在检查问题是否可重现,问题重现才可以让开发更有效地查找到原因并解决问题,对于比较复杂的问题,最好能够将Bug现场重现给开发人员,以方便问题追踪和原因定位。如果错误不可再重现,仍然应该写下来,但是必须说明问题的偶然性;Bug描述简明准确,对于问题的描述,应该尽可能简明、准确。隐含的或模糊的说明和那些由于对没有任何关系的细节或者那些在重现错误过程中不需要的步骤,不要...
            16 15 1360
            分享
          •   经常会有小伙伴询问:“测试工程师有哪些必须要掌握的技能?”这是一个非常大的课题,因为每个人从事的行业不同、岗位不同,需要掌握的技能自然也不一样。  今天小编就从不同岗位、不同行业两个大方面,来讲讲软件测试工程师需要掌握的技能列表,最后也会列出哪个技能对于现在的你比较重要。快来对着技能树查漏补缺,有的放矢学习技能吧~  这里要提一下:这篇文章里说的测试工程师,是主攻软件领域的测试工程师。  首先我们来看一下不同阶段的测试工程师需要掌握的技能体系:  根据以上技能体系,小编给大家做了如下细分:  一、通用技能  1业务相关  站在客户角度思考业务;掌握业务需求的知识内容、业务管理流程、行业现状...
            0 0 461
            分享
          • 尼尔森十大原则由毕业于哥本哈根的人机交互学博士Jakob Nielsen发表,他提出十大可用性原则,用来评价用户体验的好坏。(1)系统可见性原则(Visibility of system status)(2)贴近场景原则(Match between system and the real world)(3)可控性原则(User control and freedom)(4)一致性和标准化原则(Consistency and standards)(5)防错原则(Error prevention)(6)协助记忆原则(Recognition rather than recall)(7)灵活高效原则(...
            5 4 6847
            分享
          • 第二篇 基础问答(下)6. 依赖第三方的接口如何处理?这个需要自己去搭建一个mock服务,模拟接口返回数据,也就是我们常说的挡板服务。可以使用的工具有很多,比如在线版的 easy mock,java优秀的接口mock工具moco,或者利用web开发的框架比如flask、django等等自己写一个小的接口服务,部署上就可以。有了mock服务,让开发人员把对应的地址替换掉即可。如果不方便替换可以使用抓包工具或者burpsuite截获请求,修改地址或相应参数,再发送出去就可以了。关于mock的服务还会衍生出一个很常见的话题:如果我们的接口需要真实支付(比如对接支付宝的相关接口),如何测试?也就是说你...
            0 1 2916
            分享
          • HTML概述我们的网络应用软件主要包括两种:B/S系统和C/S系统。用户通过某界面程序输入数据、提交操作。服务器端对用户提交的数据进行处理,再将处理结果返回给到客户端。服务器端是对数据进行逻辑处理的,客户端提供界面给用户输入数据,显示结果信息。因为界面的不同,主要有两种:一种是基于网页的,叫做B/S系统(Browser)。另一种是基于客户端的,叫做C/S系统(Client)。B/S系统与C/S系统的优缺点1. B/S系统的客户端,因为浏览器已经是统一的。只需要实现界面内容即可,工作内容相对简单。2. 我们的电脑系统是不相同的,那么我们需要兼容不同的电脑。在这里,浏览器都能够被各种系统兼容,所以...
            0 9 3520
            分享
      • 51testing软件测试圈微信