Python自动化测试框架有哪些?

article/2025/8/27 0:22:54

常用的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仅适用于行为驱动测试

更多测试资源:

常用的开源无代码测试工具

软件测试人员必看的十本经典书籍 

 软件测试方法和技术知识点有哪些?

黑马程序员软件测试面试宝典

自动化测试是什么?应用在哪儿?

Python自动化测试学习哪些知识?

100G的软件测试自学教程拿走!(哭着喊着要收藏系列)


http://chatgpt.dhexx.cn/article/0SyAjhEr.shtml

相关文章

python自动化爬虫实战

python自动化爬虫实战 偶然的一次机会再次用到爬虫,借此机会记录一下爬虫的学习经历,方便后续复用。 需求:爬取网站数据并存入的csv文件中,总体分为两步 爬取网站数据存到到csv文件中 1、配置爬虫环境 1.1、下载自动化测试驱动 …

Python自动化神器-Playwright

1、Playwright介绍 Playwright是一个强大的Python库,仅用一个API即可自动执行Chromium、Firefox、WebKit等主流浏览器自动化操作,并同时支持以无头模式、有头模式运行。Playwright提供的自动化技术是绿色的、功能强大、可靠且快速,支持Linux…

python自动化测试绕过手机验证码

自动化测试登录需使用手机验证码,但是测试水平太弱只能让开发写死验证码??? 不服气就试试别的方法,这里提供两种解决思路: 1.从服务器日志中获取 此种方法尤其适合生产数据库不开放给测试的公司&#xff…

什么是Python自动化

python自动化是指用python语言实现高效的自动化操作,比如自动化测试,自动化运维等等,而自动化就是指系统在没有人或较少人的直接参与下,按照人的要求进行处理的过程。 Python是一门计算机脚本语言,用它可以实现高效的自…

7个实用的Python自动化代码,别再重复造轮子了

关于Python有一句名言:不要重复造轮子。 但是问题有三个: 1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。 2、确实没重复造轮子,但是在重复…

全网最详细的Python自动化测试

1. 概述 1.1 python自动化 什么是python自动化?我理解的Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 自动化测试是一种质量保障的方式,最重要的还是以做好一款高质量产品为前提…

python自动化

一、python回顾 1、python的发展方向 web开发 爬虫数据分析 机器学习(深度学习) 自动化运维 自动化测试 2、python测试成长 初级测试工程师 中级测试工程师 测试开发工程师 3、自动化与Python python的强大的第三方库,为很多的自动化流程提供的快捷的实现…

bootdo jar 改war 坑

最新下载bootdo pom文件中这一行请保持注释,严格按照bootdo的文档走。 请勿自由发挥!

BootDo平台数据库使用Oracle

最近协助使用开源框架,在网上到个BootDo 使用起来还是非常方便的,由于数据库原例子使用mysql,需求要后台使用成Oracle,有时看看例子还不错,真要修改成项目来使用,还有得研究,从连接数据库、acti…

BootDo:修改启动时的象形文字

一、内容介绍 BootDo是在SpringBoot基础上搭建的一个Java基础开发平台,很有学习价值,本文将介绍BootDo如何修改启动时的象形文字。 二、前置工作 1.本文bootdo下载的地址为https://gitee.com/lcg0124/bootdo,压缩包名为lcg0124-bootdo-mas…

基于 Springboot 和 Mybatis 的后台管理系统 BootDo

介绍: 项目介绍 面向学习型的开源框架,简洁高效,减少过渡封装,展现技术本质 Springboot作为基础框架,使用mybatis作为持久层框架 使用官方推荐的thymeleaf做为模板引擎,shiro作为安全框架,主流技术&…

Bootdo后台管理系统使用步骤详解

Bootdo后台管理系统使用步骤 Home1.导入项目2.创建数据库3.启动项目4.数据库新表代码生成5.jar包导出6.添加菜单 Home 面向学习型的开源框架,简洁高效,减少过渡封装,展现技术本质! 项目地址(GitHub):https://github.com/lcg0124/bootdo 项…

bootdo框架使用步骤总结

仅作为个人学习纪录,其他人只作为参考,图较少,会不断更新。创建时间 2018-04-19 项目地址 bootdo官网 因为从git上下载的文件结构并不是习惯,所以将里面一层的复制到最完成根目录idea导入,选择到项目以后&#xff0c…

登陆页面总结(bootdo)

总结自开源项目bootdo 图标设置 验证码 验证码生成工具类 import org.slf4j.Logger; import org.slf4j.LoggerFactory;import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.…

bootdo mysql_iBootDo: 基于BootDo项目定制版,兼容MySQL、Oracle

iBootDo 项目介绍 基于BootDo项目定制版,根据个人项目经验改造:兼容MySQL、Oracle,Thymeleaf升级到3.0,默认Session存入Redis等; 感谢BootDo作者 lcg0124 的分享。 BootDo地址: https://gitee.com/lcg0124/…

bootdo框架首页解析

跳转首页 左侧大的方向上分三大块 左侧第一大块中 包含有 重复的功能 可以去掉 右侧部分控制左侧展开和收起的功能 <div class"row content-tabs"><button class"roll-nav roll-left J_tabLeft"><i class"fa fa-backward">&l…

后台管理页面(bootdo)

项目源码&#xff1a;bootdo: 面向学习型的开源框架&#xff0c;简洁高效&#xff0c;减少过渡封装&#xff0c;展现技术本质 左边的菜单栏分析 数据库结构 样式实例 用树结构封装菜单数据&#xff0c;方便获取前后节点&#xff0c;通过自身id和父id相匹配&#xff0c;构建菜…

BootDo项目

因为本地项目需要使用bootdo和springCloud结合&#xff0c;所以&#xff0c;我今天开始学习一下bootdo的知识 但是从官网下载下一个bootdo项目导入idea之后发现并不能运行起来&#xff0c;报cant found git.exe 然后需要在官网下载对应版本的git。并且在setting–git中配置一下…

BootDo:源代码打包与自启动

一、内容介绍 BootDo是在SpringBoot基础上搭建的一个Java基础开发平台&#xff0c;很有学习价值&#xff0c;本文将介绍BootDo的源代码打包与自启动。 二、前置工作 1.本文bootdo下载的地址为https://gitee.com/lcg0124/bootdo&#xff0c;压缩包名为lcg0124-bootdo-master.…