Python自动化测试框架有哪些?(总结几种)
目录
导读:
Robot Framework
Robot的优缺点是什么。
Robot Framework是最适合您的Python测试框架吗?
pytest
pytest的优缺点是什么?
Pytest是最适合您的Python测试框架吗?
UnitTest
unittest的优点和缺点是什么?
PyUnit是您的最佳Python测试框架吗?
总结
如果觉得小编写得还不错的同学可以点点关注吗。
(福利)软件测试面试宝典获取请在评论区留言或者关注公众号:阿里大叔说测试
导读:
随着Python语言的使用越来越流行,基于Python的测试自动化框架也越来越流行。在项目选择最佳框架时,开发人员和测试人员会有些无法下手。做出选择是应该判断很多事情,框架的脚本质量,测试用例的简单性以及运行模块并找出其缺点的技术。这篇文章总结了测试自动化领域,适合Web端自动化框架(基于Python语言)以及它们相对于其他方面的优缺点。因此,可以帮助一些人根据需要和实际情况选择合适的的Python框架进行测试自动化。
Robot Framework
Robot Framework主要用于测试驱动的开发以及验收测试,它是最好的测试框架之一。虽然是用Python开发的,它也可以运行的IronPython
,这是.NET
为基础的和基于Java
的Jython
的。Robot Framework作为Python框架可在所有平台上兼容:Windows,MacOS或Linux。
前提条件
- 首先,只有安装了Python 2.7.14或更高版本的Python,您才能使用Robot Framework(RF)。
- 您还需要安装“pip”或其他python软件包管理器。
- 最后,必须下载一个IDE。在开发人员中流行的工具是PyCharm社区版。
Robot Framework的优缺点是什么?让我们看一下与其他Python框架相比,作为测试自动化框架的
Robot的优缺点是什么。
优点
- 通过使用关键字驱动的测试方法,它可以帮助测试人员轻松创建可读性很高的测试用例,从而使自动化流程更加简单。
- 测试数据语法可以轻松使用并组合。
- 它由通用工具和测试库组成,具有完整的生态系统,可以在单独的项目中使用各个功能。
- 该框架具有许多API,具有很高的可扩展性。
- Robot Framework框架可通过Selenium Grid运行并行测试,但需要自行开发相关功能。
缺点
- 虽然Robot Framework听起来很方便,但是在创建自定义
HTML
报告时却很不方便。 - Robot Framework框架的另一个缺陷是自身并行测试能力不足。
Robot Framework是最适合您的Python测试框架吗?
如果您是自动化领域的初学者,并且在开发方面经验较少,那么将Robot Framework用作顶级Python测试框架比pytest或pyunit更容易使用,因为它具有丰富的内置库并且使用更容易的面向测试的DSL。但是,如果要开发复杂的自动化框架,最好切换到pytest或任何其他涉及Python代码的框架。
pytest
pytest用于各种软件测试,是测试自动化的另一个顶级Python测试框架。该工具是开源的,易于学习,可以被质量保证团队、开发团队以及个人实践或者开源项目使用。由于其“断言重写”等有优秀的功能。相当一部分项目已经从unittest(Pyunit)切换为pytest。
前提条件
除了具有Python的使用知识外,pytest不需要任何复杂的东西。您所需要的只是一个具有命令行界面,python软件包管理器和开发IDE的工作桌面。
pytest的优缺点是什么?
优点
- 在pytest到来之前,大多数人将其测试内容包含在大型类中。随着pytest带来了革命,使得以更紧凑的方式编写测试用例成为现实。
- Pytest将所有值存储在测试用例中,测试完成之后通知哪个值断言失败和哪个值被断言。
- 由于不需要太多模板代码,因此测试用例更易于编写和理解。
- 在pytest中,可以通过讲功能模块化帮助覆盖所有参数组合而无需重写测试用例。
- pytest的丰富实用的插件,使该框架可扩展性极高。例如,pytest-xdist可以用于执行并行测试,而无需使用其他测试运行程序。单元测试也可以参数化,而无需重复任何代码。
缺点
- pytest使用规范和语法意味着开发者必须考虑兼容性。你方便地编写测试用例,但比较难将这些测试用例与任何其他测试框架一起使用。
Pytest是最适合您的Python测试框架吗?
必须首先学习一种成熟的语言,但是一旦掌握了这种语言,您将获得所有技能点,例如静态,代码分析,对多个IDE的支持以及最重要的是编写有效的测试用例。对于编写功能测试用例和开发复杂的框架,它比unittest更好,但是如果您的目标是开发简单的框架,则它的优势与Robot Framework有点相似。
UnitTest
Unittest或PyUnit是Python自带的用于单元测试的标准测试自动化框架。它受到JUnit的极大启发。基类TestCase提供断言方法以及所有设置规范。TestCase子类中每个方法的名称均以“test”开头。这使它们可以作为测试用例运行。您可以将加载方法和TestSuite类用于该组并加载测试。您可以一起使用它们来构建自定义的测试运行器。就像使用JUnit进行Selenium测试一样,unittest也可以使用unittest-sml-reporting并生成XML报告。
前提条件
几乎没有前提条件,因为Python默认情况下自带unittest。要使用它,您将需要python框架的标准知识,并且如果您想安装其他模块,则需要安装pip以及一个IDE进行开发。
unittest的优点和缺点是什么?
优点
作为Python标准库的一部分,使用Unittest有多个优点。
- 开发人员不需要安装任何其他模块,因为该模块随附了该模块。
- Unittest是xUnit的派生产品,其工作原理类似于其他xUnit框架。熟悉的语法和规范会让初学者觉得轻松一些。
- 可以以更简单的方式运行各个测试用例,需要做的就是在终端上指定名称。输出也很简洁,在执行测试用例时更加灵活。
- 测试报告在毫秒内生成。
缺点
- 通常,snake_case用于命名python代码。但是由于该框架从Junit中获得了很多启发,因此传统的camelCase命名方法仍然存在。这可能会令人感到困惑和混乱。
- 测试代码的会变得难以阅读,因为它过多地支持抽象。
PyUnit是您的最佳Python测试框架吗?
pytest引入了某些惯用作法,使测试人员可以以非常紧凑的方式编写更好的自动化代码。尽管unittest是默认的测试自动化框架,但是它的工作原理和命名约定与标准Python代码略有不同,这使它不是Python自动化测试的首选框架。
总结
在上面的内容中,我们讨论了基于不同测试过程的Python框架。pytest,Robot框架,单元测试用于功能和单元测试。我们可以得出结论,对于功能测试,pytest是最好的。但是,如果您不熟悉基于python的自动化测试,那么Robot Framework是入门的绝佳工具。尽管功能有限,但是它将使您轻松地走上正轨,快速产出效果明显。
如果觉得小编写得还不错的同学可以点点关注吗。
(福利)软件测试面试宝典获取请在评论区留言或者关注公众号:阿里大叔说测试
Python自动化测试框架有哪些?(总结几种)相关推荐
- python自动化测试框架pytest.pdf_Python自动化测试框架
随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架.只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了开发时间.而且由于这些框架被广泛使用,他们具有很好的 ...
- Python学习教程:Python自动化测试框架需要学习哪些?
需要掌握学习Python自动化测试框架有哪些?常用的Python自动化测试框架有Robot Framework.Pytest.UnitTest/PyUnit.Behave.Lettuce.软件测试的自 ...
- 7个实用的Python自动化测试框架
目录 前言 1.Unittest 2. Doctest 3.pytest 4.Nose 5.tox 6.Unittest2 7.mock unittest. 结语 前言 随着技术的进步和自动化技术的出 ...
- Python自动化测试框架有哪些?怎么选
目录 自动化测试框架概念 自动化测试框架根据思想理念和深度不同,渐进式的分为以下几种: 模块化测试脚本框架: 测试库框架: 数据驱动测试框架: 关键字驱动或表驱动的测试框架: 混合测试自动化框架: 框 ...
- Python自动化测试框架【Allure-pytest功能特性介绍】
Python自动化测试框架[Allure-pytest功能特性介绍] 目录:导读 前言 生成报告 测试代码 目录结构 Allure特性 Environment Categories Fixtures ...
- Python自动化测试框架有哪些?
令开发者万分高兴的是,开发自己的测试框架的日子终于结束了.以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试 ...
- Python自动化测试框架
Python自动化测试框架 1 什么自动化测试框架 什么是工具--工具(Tools)类似框架,只是工具屏蔽了底层的代码,提供单独的操作界面,以此供用户操作,比如:Selenium IDE.Postma ...
- 实现一个简单的python自动化测试框架
实现一个简单的python自动化测试框架. 父类中实现runTest()方法和assertEqual().子类编写test开头的测试函数,其中调用assertEqual(). 实例化子类,运行父类中r ...
- Python自动化测试框架之Pytest教程【让你小鸡变老鹰】
Pytest pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: · 简单灵活,容易上手 · 支持参数化 · 能够支持简单的单元测试和复杂的功能测试,还可以用来做sele ...
- Selenium WebDriver + python 自动化测试框架
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...
最新文章
- 收集国内著名互联网公司前端/UED部门的blog,方便学习交流
- python教程第四版pdf下载-Python参考手册 第4版高清中文PDF下载
- html css常用样式
- SQLExceptionTranslator
- 用内核对象进行线程同步
- 深入理解计算机系统视频版,绝对干货
- php 扫描仪对接,Mac_Mac怎么连接扫描仪?苹果电脑Mac添加扫描仪教程, 有很多的用户需要用到扫 - phpStudy...
- 谷歌修复已遭利用的 Chrome 0day
- FISCO BCOS Webase front 智能合约 参数不合适
- 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_05.mybatis环境搭建-前期准备
- 详解图像增强、图像复原领域技术
- 江西理工大学校园网开机自动连接,断网自动重连
- 又开始的python-day10-20200821-文件操作相关内置函数-拷贝-读取-写入
- 剑指Offe面试题:用两个栈实现队列
- 生死看淡,不服就GAN(五)----用DCGAN生成MNIST手写体
- 20200714学习笔记
- UIWebView中添加活动指示器,来化解用户等待心理
- 频率在电子领域内,频率是一种最基本的参数,并与其他许多电参量的测量方案和测量结果都有着十分密切的关系。由于频率信号抗干扰能力强、易于传输,可以获得较高的测量精度。因此,频率的测量就显得尤为重要,测频方
- 火山视窗opencv计算机视觉入门
- 地下交通站之贾贵经典语录