首页 > 编程语言 >常用Python自动化测试框架有哪些?优缺点对比

常用Python自动化测试框架有哪些?优缺点对比

时间:2024-01-06 19:44:23浏览次数:21  
标签:框架 Python 优缺点 RedwoodHQ 测试用例 测试 自动化

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了测试时间。而且由于这些框架被广泛使用,他们具有很好的健壮性,并且具有广泛多样的用例集和技术来轻易发现微小的缺陷。

以前,测试团队接手一个项目,他们不得不为这个项目构建一个自动化测试框架。一个测试框架应该具有最佳的测试用例、假设(assumptions)、脚本和技术来运行每一处代码和模块,从而发现代码缺陷和不足。不同的项目需要不同的测试用例、假设和脚本,而这也是为什么会在这些测试中花费大量时间。然而,现在令测试人员万分高兴的是,构建自己的测试框架的日子终于结束了。今天,我们就聊一聊可用的 Python 自动化测试框架。

Robot Framework

Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 编写,但也可以在 Jython(Java)和 IronPython(.NET) 上运行,提供跨平台支持( Windows、 Linux 或 MacOS )。

优点:

通过使用关键字驱动测试(KDT)方法简化了自动化测试过程,方便测试人员创建易读的测试。
测试数据语法简单易用。
生态系统丰富。由各种通用测试库和工具组成,这些工具都是作为独立项目开发的。
具有高度可扩展性。
可通过 pabot 或 Selenium Grid 执行并行测试。

缺点:

自定义 HTML 报告较为麻烦。

如果是针对大范围的库和扩展的 KDT 自动化测试,建议使用此跨平台框架。如果想要添加新的关键字(通过 RF 测试库 API ),需要具备 Java / Python / C 语言的基础知识

RedwoodHQ

RedwoodHQ 是一个流行的自动化测试工具,它之所以流行是因为大部分流行的编程语言都可以用来编写测试,例如 Java、Python、C# 等。在 RedwoodHQ 的网站界面上,多个测试人员可以在一个平台上协作并运行测试用例。开发者可以使用 RedwoodHQ 中出现的 action 关键字来毫不费力地创建和修改测试用例。

你需要做的只是找到需要的 action,拖到测试盒中,然后输入参数并改变它们的值来生成一份完整的测试报告。RedwoodHQ 有一个内置的 IDE(集成开发环境),可以在那里创建、修改以及运行测试用例。RedwoodHQ 是对用户最友好或对测试人员最友好的平台之一,它关注一个重大项目的全部测试过程。

Jasmine

Jasmine 是一个 JavaScript 单元测试框架, 也被称为 JavaScript 的行为驱动开发(BDD)测试框架。适用于网页、Node.js 项目或任何可以运行 JavaScript 的地方。它主要与 AngularJS 配对使用。

优点:

除了 JavaScript ,还可以运行在 Python 和 Ruby 中。如果想在你的服务器端运行客户端测试,它可以帮助你。
被许多 CIs 使用和支持。
内置用于断言的语法。

缺点:

多数情况下,它需要一个测试运行器(如 Karma )。
难以异步测试。
如果你正在寻找一个统一的(客户端 - 服务器)单元测试解决方案,Jasmin 可能会非常适合。

Pytest

如果你的项目比较小、复杂度比较低,Pytest 是最适合的自动化测试平台。pytest 是 python 的一种单元测试框架,与 python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。根据 pytest 的官方网站介绍,它具有如下特点:

非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考

能够支持简单的单元测试和复杂的功能测试

支持参数化

执行测试过程中可以将某些测试跳过,或者对某些预期失败的 case 标记成失败

支持重复执行失败的 case

支持运行由 nose , unittest 编写的测试 case

具有很多第三方插件,并且可以自定义扩展

方便的和持续集成工具集成

Pytest 还有各种可用插件来给现有测试技术和测试用例增加更多功能和多样性。事实上,在其活跃社区中有 300 多个可用的插件。该平台设计用于编写更简单,错误率更小的代码。你可以将 Pytest 与诸如 Selenium 和 Splinter 之类的图形用户界面一起使用,来使测试工作更轻松。

结语

对于任何编程语言来说,都没有绝对理想的测试框架。它取决于测试者的舒适度、项目需求和项目中特定模块所需的测试类型。可用的自动化测试框架有线性自动化、基于模块的测试、函数库框架测试、混合测试、关键词驱动和数据驱动测试等。每个框架都有它的优点和缺点。上面列举的 python 框架是性能最全面的自动化测试框架。

总结

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

标签:框架,Python,优缺点,RedwoodHQ,测试用例,测试,自动化
From: https://www.cnblogs.com/NHB6870/p/17949432

相关文章

  • python flask get请求接收参数
    前言全局说明pythonflaskget请求接收参数一、安装flsas模块官方源:pip3installflask国内源:pip3installflask-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.com以上二选一,哪个安装快用哪个二、引用模块fromflaskimportFlask,request......
  • 快乐学Python,Python基础之代码复用?「函数」
    上一篇文章中,我们了解了代码的分支结构(if家族语句)和循环结构(for循环和while循环)。通过了解这些结构,我们已经能够写出稍微复杂一些的代码。但当代码一多,就会遇到一些问题。上一篇文章中有个案例:根据考试分数打印安全意识分级(优秀、及格和不及格)的代码,如下所示:a=75ifa>8......
  • Python编程1——反转一个3位整数
    反转一个只有3位数的整数。输入789,反转后输出987.代码如下:Reverse.pyclassSolution:#参数Number:一个3位数字#返回值:反转后的数字defreverseInteger(self,number):h=int(number/100)t=int(number%100/10)z=int(number......
  • 这是一个悲伤的爱情故事,姻缘AI的Python代码
    这是一个悲伤的爱情故事,以下是一段姻缘AI的Python代码:classLoveStory:def__init__(self,name1,name2):self.name1=name1self.name2=name2defstart_story(self):print(f"{self.name1}和{self.name2}相遇了。")print(f"他们......
  • • python 脚本 输入字符串 输出字符串+当前时间 生成api http请求
    案例问题背景python脚本输入字符串输出字符串+当前时间生成apihttp请求脚本1这是单线程的单次处理单个http请求同时多个请求按照顺序处理而不是并行处理多请求!=多线程但是相关使用多线程来并行处理多请求使用flask或django等web服务器框架可以与wsgi服务器配合使用比如guni......
  • Python中的MariaDB操作:使用mysql.connector
    MariaDB是一个开源的关系型数据库管理系统,由原始开发者MySQL的创始人和团队进行维护。它与MySQL高度兼容,因此经常被视作MySQL的直接替代品。在Python中操作MariaDB非常方便,感谢mysql.connector这个强大的库。本文将指导你如何使用这个库来执行在MariaDB中的基本数据库操作。安装mys......
  • 手把手教你用 Python 去除图片和 PDF 水印
    我们在平时的学习,工作和写作中,有时会遇到一些需要将图片的水印去除的场景。虽然网络上有很多免费或者付费的软件可以帮助我们去除图片水印,但作为程序员,我们完全可以自己动手编程实现。原理分析假设我们需要将下面这张图片里的水印,使用Python代码去除。图像是由像素组成的,每......
  • python-数据解析-bs4介绍
    一、数据解析方式-bs41、 爬虫数据的解析常用方式有三种: 1、正则表达式2、bs43、xpath解析2、本次主要学习bs4,首先要先准备好环境,即要安装使用beautifulSoup,这里已经安装好了bs4模块,如下:pipinstallbs4和pipinstalllxml 3、通过一个实例理解bs......
  • python第一节:简介、下载、安装​
    第一节:简介、下载、安装简介:Python的创造者吉多·范罗苏姆。Python是一款易于学习、跨平台语言、免费和开源、的编程语言。有丰富的第三方模块库,应用领域非常广泛。常用于数据采集、数据分析和计算、数据挖掘、人工智能等。下载:下载地址:https://www.python.org/安装:先选中下面两......
  • Python 通过 akshare 绘制中国平安均线并显示买卖点
    继续上篇,通过akshare绘制中国平台的均线,并在5日线上穿10日线的时候,显示买入信号,在5日线下穿10日均线的时候,显示卖出信号环境:python3.9(miniconda3)、Pycharm、Win10需要用的模块或者工具库:akshare(1.11.91)、pandas(2.1.1)、numpy(1.26.2)、matplotlib(3.8.2)、mplfinanc......