写点什么

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

  • 2018-07-22
  • 本文字数:1526 字

    阅读完需:约 5 分钟

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

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架,你可以使用这些框架,在调整特定测试适用性和效率参数后,测试你项目的任何模块。这节省了时间,而且由于这些框架被广泛使用,它们非常稳健,具有广泛多样的用例集和技术来轻易发现微小的缺陷。今天,我们将看一看可用的 Python 自动化测试框架。

Robot Framework

Robot Framework 是最流行的 Python 自动化测试框架。它是完全用 Python 开发的,对于验收测试非常有用。这个框架可以运行在 Java 和.NET 环境。它还支持跨平台,例如 Windows、MacOS 和 Linux。这个产品是由世界上一些著名的测试人员创建的,拥有关键词驱动方案。它有如此多可用的工具和库,使得这个框架非常先进和健壮。

它是一个开源框架,并且留有 API 扩展空间。表格式的测试数据语法和关键词驱动测试使得它在全球的测试人员中非常流行。它无疑是最易用的自动化测试框架,并且允许你进行并行测试。

RedwoodHQ

RedwoodHQ 是一个流行的自动化测试工具,它的流行是由于大部分流行的编程语言都可以用来编写测试,例如 Java、Python、C#和 likewise。它有一个网站界面,在那里多个测试人员可以在一个平台上协作和运行测试用例。在 RedwoodHQ 中出现的 action 关键字可以用来毫不费力地创建和修改测试用例。你所需要做的只是找到你需要的 action,将它拖到你的测试盒中,然后输入参数并改变它们的值来生成一份完整的测试报告。它有一个内置的 IDE(集成开发环境),你可以在那里创建和修改测试用例,并且并行运行它们。它是对用户最友好或对测试人员最友好的平台之一,它关注一个重大项目的全部测试过程。

Jasmine

Jasmine 对于 JavaScript 单元测试使用行为驱动开发框架。它适用于任何使用 JavaScript 的地方。除了 JavaScript 之外,它还被用于 Python 和 Ruby 自动化测试。因此,它使得你可以并行运行客户端测试用例和服务端测试用例。它是一个将客户端和服务端单元测试结合起来的完美的测试框架,而且被认为是测试领域的未来。它现成可用,除了需要一个名为 Karma 的测试运行器之外,不需要其它外部依赖。

Pytest

如果你的项目比较小、复杂度比较低,Pytest 是最适合的自动化测试平台。非常多的 Python 开发者都喜欢它,他们大部分用它来进行单元测试。它也具有 Robot Framework 所闻名的验收测试能力。Pytest 最好的特性之一是,它提供了测试用例的详细失败信息,使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose,开箱即用。它还有包含更多功能的插件和多样化的现有测试技术和测试用例。事实上,有 300 多个可用插件来自它的活跃社区。该平台设计用于编写更简单错误率更小的代码。你可以将 Pytest 与诸如 Selenium 和 Splinter 之类的图形用户界面一起使用,来使得测试工作更轻松。

结论

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

查看英文原文: WHAT PYTHON FRAMEWORKS ARE AVAILABLE FOR TEST AUTOMATION?

感谢张婵对本文的审校。

2018-07-22 12:0712357

评论

发布
暂无评论
发现更多内容

互联网公司研发效能团队为啥必须独立?何时独立?

laofo

互联网 DevOps cicd 研发效能 工程效率

mixin-- 混入

CRMEB

MySQL基础

龙空白白

MySQL 数据库

ADB 日志抓取

甜甜的白桃

android adb APK 6月月更

【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

NFT链游GameFi系统开发,元宇宙游戏搭建

薇電13242772558

NFT 元宇宙 链游

Neo 黑客松获奖名单揭晓,上万美金花落谁家?

TinTinLand

区块链

NFT铸造交易平台开发市场详情

开发微hkkf5566

二分查找有序数组中的特定值

龙空白白

数据结构与算法

如何在使用 Flutter时切换应用时隐藏应用预览

坚果

6月月更

Linux编程_网页视频监控项目

DS小龙哥

6月月更

ES6新特性class类

大熊G

JavaScript 前端 6月月更

数组目标值target两个整数,并返回它们的数组下标

龙空白白

数据结构与算法

数组判断任意出现的重复值

龙空白白

数据结构与算法

Linux测试端口的连通性

龙空白白

多线程实现的方式

龙空白白

多线程

硬核剧透!11个议题、14位大咖,龙蜥社区走进 Intel MeetUp 议程公布!

OpenAnolis小助手

技术分享 intel Meetup 龙蜥社区 线上直播

SAP 云平台多目标应用 Multi-Target Application 的开发技术介绍

汪子熙

云原生 Cloud SAP CloudFoundry 6月月更

java中synchronized关键字

龙空白白

Java Concurrency

开源字节设计思想

源字节1号

软件开发

知识图谱、图数据平台、图技术如何助力零售业飞速发展

GPU算力

图计算 图数据分析 图数据一体机

InfoQ 极客传媒 15 周年庆征文|【Python技能树共建】异常捕获预处理

梦想橡皮擦

Python 6月月更 InfoQ极客传媒15周年庆

HPCA名人堂成员蒋晓维博士,任职大禹智芯首席科学家

硬科技星球

人工智能 阿里巴巴 大禹智芯 蒋晓维

Java中的static关键字

龙空白白

Vim编辑器以及linux常用命令

龙空白白

Linux vim教程

股票获取最大利润

龙空白白

数据结构与算法

悬赏任务源码开发设计构建时,要留意哪些事项

开源直播系统源码

源码 软件开发 直播系统 悬赏任务源码

MySQL的体系结构

龙空白白

MySQL 数据库

Google搜索为什么不能无限分页?

蝉沐风

elasticsearch 深度分页

C#入门系列(十) -- 一维数组

陈言必行

C# 6月月更

InfoQ 极客传媒 15 周年庆征文|Socket请求和Http请求特点、区别及适用场景

No Silver Bullet

HTTP请求 6月月更 InfoQ极客传媒15周年庆 Socket请求

Python自动化测试框架有哪些?_软件工程_KITTY GUPTA_InfoQ精选文章