[雪峰磁针石博客]可爱的python测试开发库


声明:本文转载自https://my.oschina.net/u/1433482/blog/1600276,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

测试开发

UI测试
 

本文持续更新中,最新版本

交流QQ群:python 测试开发 144081101

wechat: pythontesting

淘宝天猫可以把链接发给qq850766020,为你生成优惠券,降低你的购物成本!

快来领取支付宝跨年红包!1月1日起还有机会额外获得专享红包哦!复制此消息,打开最新版支付宝就能领取!2C56CV70sA

  • appium - 移动端UI自动化测试。 链接

  • selenium - web UI自动化测试。 链接

  • uiautomator- 安卓UI自动化测试。 链接

  • pyautoacad - AutoCAD自动化。 链接

  • sikuli - 位图自动化。 链接

  • monkeyrunner- 安卓自动化。 链接

  • pywinauto - Windows UI自动化。 链接

  • ldtp - Linux UI自动化。 链接

  • dogtail- Linux UI自动化。 链接

  • pyautogui- 跨平台的UI自动化工具,控制鼠标和键盘。 链接

  • pyautoit- autoit python api。 链接

  • splinter - web UI测试工具,基于selnium封装。 链接

  • 雪峰磁针石说明:

autopy、WATSUP、winGuiAuto因为较长时间未更新未收录

性能测试

  • funkload - 性能及功能测试工具。 链接 --推荐

  • multi-mechanize - python性能测试工具,基于多进程和多线程,是学习性能测试goon工具的佳品。 链接 --推荐

  • locust - 强大的性能测试工具,使用了协程。 链接 --推荐

  • ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。 链接 --推荐

  • boom - 类似ab(ApacheBench)的性能测试工具。 链接

测试框架

  • Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。 链接

  • unittest - (Python 标准库) 单元测试框架 链接

  • mamba - 行为驱动测试框架。 链接

  • nose- 更好的单元测试框架。 链接

  • nose2- nose基于unittest2的版本。 链接

  • pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接

  • Robot Framework- 通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。 链接

  • pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接

  • green- 彩色(命令行能显示多种颜色)的单元测试框架。 链接

  • tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。 链接

  • sixpack- A/B 测试框架。 链接

Mock

  • doublex:强大的测试桩框架。链接

  • mock:(Python3 标准库) mock和patch。链接

  • freezegun:伪造时间。[链接]https://github.com/spulec/freezegun)

  • httmock:Python 2.7+ 和 3.4+ mock requests库。链接

  • httpretty:Python 的 HTTP 请求 客户端mock 工具,暂时不支持python3。链接

  • responses:针对requests 库的mock库。链接

  • VCR.py:录制HTTP请求加快测试执行速度并可进行mock。链接

  • factoryboy:Python测试fixtures(setup和teardown)替代库。链接

  • mixer:另外一个测试fixtures(setup和teardown)替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。链接

  • modelmommy:为 Django测试创建随机fixtures 链接

  • faker:生成多种伪数据。链接

  • fake2db:伪造数据库生成器。链接

  • mimesis:生成mock数据。[链接]https://github.com/lk-geimfari/mimesis)

  • 雪峰磁针石说明:

radar 因为github星级太少而未收录

其他测试工具

  • coverage:代码覆盖率。链接

  • FuckIt.py:代码出错也可以执行。链接

持续交付

  • buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。 链接

  • BitBake – 嵌入式Linux上类似make工具。链接

  • buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。链接

  • PlatformIO – 在不同的开发平台的控制台构建工具。链接

  • PyBuilder – 纯Python编写的持续构建工具。链接

  • SCons – 软件构建工具。链接

awesome-python

管理面板

用于管理界面的库。

  • Ajenti - Linux & BSD web管理面板。管理进程和文件等。 链接

  • django-suit - 现代主题的Django管理界面(仅限非商业用途)。链接

  • django-xadmin - 方便的Django admin替代。 完全支持插件扩展,基于 Twitter Bootstrap,并有站内书签、支持 xls, csv, xml和json数据导入等不少增强。 链接

  • flask-admin - Flask的简单和可扩展的 web 管理界面框架。 链接

  • flower - Celery的实时监控和网络。 链接

  • Grappelli - Django管理界面的爵士皮肤。[链接]https://github.com/sehmaschine/django-grappelli)

  • Wooey - 为Python脚本创建自动Web UI的Django应用程序。 链接

算法和设计模式

Python的算法和设计模式的实现。

  • algorithms - Python的算法模块。 链接

  • PyPattyrn - 简单有效实现通用设计模式。 链接

  • python-patterns - Python中设计模式的集合。 链接

  • sortedcontainers - SortedList,SortedDict和SortedSet类型的快速,纯Python实现。 链接

反病毒

  • django-simple-captcha - 简单且高度可定制的Django应用,可以将验证码图像添加到任何Django表单。 链接

  • 雪峰磁针石说明:

django-simple-spam-blocker因为github星级太少而未收录

资产管理

用于管理,压缩和缩小网站资产的工具。

  • django-compressor - 将链接和内联的JavaScript或CSS压缩到单个缓存文件中。 链接

  • django-pipeline - Django的资产包装库。 链接

  • django-storages - Django自定义存储后端集。 链接

  • fanstatic - 用 Python 的包的方式封装,优化静态文件并解依赖。 链接

  • fileconveyor - 检测和同步文件到CDN,S3和FTP的后台程序。 链接

  • flask-assets - 集成web 资源到Flask应用。 链接

  • jinja-assets-compressor - Jinja扩展程序,用于编译和压缩资源。 链接 -- github星级不到100.

  • webassets - 为静态资源打包,优化和管理基于缓存的唯一URL。 链接

音频

操作音频的库。

  • audiolazy - 数字信号处理(DSP)软件包。 链接

  • audioread - 跨库(GStreamer +Core Audio+ MAD + FFmpeg)音频解码。链接

  • beets - 音乐库管理和MusicBrainzb标签。链接 -- 推荐

  • dejavu - 音频指纹识别。链接 -- 推荐

  • id3reader - 用于读取MP3元数据的Python模块。链接

  • m3u8 - 解析m3u8文件的模块。链接

  • mingus - 先进的音乐理论和MIDI文件和播放支持符号包。链接

  • mutagen - 用于处理音频元数据的Python模块。链接

  • pyAudioAnalysis - Python音频分析库:特征提取,分类,分割和应用。链接 -- 推荐

  • pydub - 通过简单易用的高级界面处理音频。链接 -- 推荐

  • pyechonest - Echo Nest API的Python客户端。链接

  • talkbox - 用于语音/信号处理的Python库。链接

  • TimeSide - 开放的Web音频处理框架。链接

  • tinytag - 用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的库。链接

  • 雪峰磁针石说明:

django-elastic-transcoder, eyeD3 因为github星级太少而未收录

scikits.talkbox 因长时间未更新未收录

认证

  • Authomatic:简单但是强大的框架,身份验证/授权客户端。链接

  • django-allauth:Django 的验证应用。链接

  • django-oauth-toolkit: Django OAuth2。链接

  • django-oauth2-provider:Django OAuth2。链接

  • Flask-OAuthlib: Flask OAuthlib 。链接

  • OAuthLib: 通用完整的实现OAuth请求-签名逻辑。链接

  • python-oauth2:创建 OAuth 客户端和服务端完全测试的抽象接口。链接

  • python-social-auth:设置简单的社交认证。链接

  • rauth:OAuth 1.0/a, 2.0, 和 Ofly。链接

  • sanction:一个超级简单的OAuth2 客户端实现。链接

  • PyJWT:JSON Web 令牌草案 01。链接

  • python-jwt:生成和验证 JSON Web 令牌。链接

  • 雪峰磁针石说明:

jose,python-jws因为github星级太少而未收录

scikits.talkbox 因长时间未更新未收录

CMS

内容管理系统

  • django-cms:开源的,基于Django的企业级 CMS。链接

  • djedi-cms:轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。[链接]http://djedi-cms.org/)

  • FeinCMS:基于 Django 构建的最先进的内容管理系统之一。链接

  • Kotti:高层的的web应用框架,基于 Pyramid 构建。链接

  • Mezzanine:强大的,一致的,灵活的内容管理平台。链接 -- 推荐

  • Opps:杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。[链接]https://github.com/opps/opps)

  • Plone:构建于开源应用服务器 Zope 之上的 CMS。链接

  • Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。链接

  • Wagtail:Django 内容管理系统。链接 -- 推荐

  • Widgy: CMS 框架,基于 Django。链接

缓存

缓存数据的库。

  • Beaker:缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。链接

  • DiskCache:Python磁盘缓存(Django兼容)。。链接

  • django-cache-machine:Django 模型的自动缓存和失效。链接

  • django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。链接

  • dogpile.cache:dogpile.cache 是 Beaker 的替代,由同一作者开发。链接

  • HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。链接

  • johnny-cache:django应用缓存框架。[链接]https://github.com/jmoiron/johnny-cache)

  • pylibmc:libmemcached 接口的 Python 封装。链接

  • 雪峰磁针石说明:

django-viewlet因为github星级太少而未收录

自动聊天工具

  • Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。链接

代码分析和lint

  • coala:语言独立和易于扩展的代码分析应用程序。链接

  • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。暂时无法继续维护。链接

  • pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。链接

  • Flake8:模块化源码检查工具: pep8, pyflakes 以及 co。链接

  • Pylint:一个完全可定制的源码分析器。链接

  • pylama:python代码审计。链接

  • YAPF: Google的Python代码格式化工具。链接 --推荐

  • pylama:Python 和 JavaScript 的代码审查工具。链接

  • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。链接 --推荐

  • mypy :静态类型检查。链接 --推荐

  • pep8 :python风格检查。链接 --推荐

命令行工具。

命令行程序开发

  • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。链接

  • cement:Python 的命令行程序框架。链接

  • click:一个通过组合的方式来创建精美命令行界面的包。链接 --推荐

  • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。链接

  • clint:Python 命令行程序工具。链接

  • colorama:跨平台彩色终端文本。链接

  • docopt:Python 风格的命令行参数解析器。链接 --推荐

  • Gooey:一条命令,将命令行程序变成一个 GUI 程序。链接

  • Python-Fire:将命令行程序变成一个 GUI 程序。链接 --推荐

  • python-prompt-toolkit:构建强大的交互式命令行程序的库。链接 --推荐

  • Pythonpy:在命令行中直接执行任何Python指令。链接

生产力工具

  • aws-cli:Amazon Web Services 的通用命令行界面。链接

  • bashplotlib:在终端中进行基本绘图。链接

  • caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。链接

  • cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。链接

  • doitlive:一个用来在终端中进行现场演示的工具。链接

  • howdoi:通过命令行获取即时的编程问题解答。链接 --推荐

  • httpie:命令行HTTP 客户端,cURL 的替代品,易用性更好。链接

  • PathPicker:从bash输出中选出文件。链接

  • percol:向UNIX shell 传统管道概念中加入交互式选择功能。链接

  • SAWS:一个加强版的 AWS 命令行。链接

  • thefuck:修正你之前的命令行指令。链接

  • mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。链接 --推荐

  • pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。链接 --推荐

  • try:很简单的命令行工具,用来试用python库。链接

兼容性

帮助从 Python 2 向 Python 3迁移的库。

计算机视觉

计算机视觉库。

  • OpenCV:开源计算机视觉库。链接

  • pyocr:Tesseract 和 Cuneiform 的包装库。链接

  • pytesseract:Google Tesseract OCR 的另一包装库。链接

  • SimpleCV:一个用来创建计算机视觉应用的开源框架。链接

并发和并行及异步与网络

用以进行并发和并行操作的库。

  • multiprocessing:(Python 标准库) 基于进程的“线程”接口。链接 --推荐

  • threading:(Python 标准库)更高层的线程接口。 链接 --推荐

  • eventlet:支持 WSGI 的异步框架。链接

  • gevent:一个基于协程的 Python 网络库,使用greenlet。链接 --推荐

  • Tomorrow:用于产生异步代码的神奇的装饰器语法实现。 链接 

  • uvloop:在libuv之上超快速实现asyncio事件循环。链接 --推荐

  • asyncio - (Python 标准库) 异步 I/O, 事件循环, 协程以及任务 链接 --推荐

  • aiohttp 异步http client/server框架(asyncio) 链接 --推荐

  • curio 协程并发库. 链接

  • pulsar - 事件驱动的并发框架. 链接

  • pyzmq - ZeroMQ 消息库的 Python 封装. 链接

  • Twisted - 事件驱动的网络引擎. 和asyncio有很多类似的地方,逐渐被代替,需要数据库等相关生态圈的支持 链接

  • diesel - 基于Greenlet 的事件 I/O 框架。. 链接

  • Tornado - web 框架和异步网络库. 链接

  • Trio – 异步I/O 链接 可能会飙升

  • NAPALM - 处理网络设备的跨供应API. 链接

  • txZMQ - 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。链接

动态消息

用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。链接

  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。链接

ORM

实现对象关系映射或数据映射技术的库。

关系型数据库

  • Django Models:Django 的一部分。链接

  • SQLAlchemy:Python SQL 工具以及对象关系映射工具。链接

  • awesome-sqlalchemy系列 链接

  • Peewee:一个小巧,富有表达力的 ORM, 支持postgresql, mysql and sqlite。[链接]https://github.com/coleifer/peewee)

  • PonyORM:提供面向生成器的 SQL 接口的 ORM。链接

  • python-sql:编写 Python 风格的 SQL 查询。链接

NoSQL 数据库

  • django-mongodb-engine:Django MongoDB 后端。链接

  • PynamoDB:Amazon DynamoDB 的一个 Python 风格接口。链接

  • flywheel:Amazon DynamoDB 的对象映射工具。链接

  • MongoEngine:Python 对象文档映射工具,用于 MongoDB。链接

  • hot-redis:为 Redis 提供 Python 丰富的数据类型。链接

  • redisco:一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。链接

其他

  • butterdb:Google Drive 电子表格的 Python ORM。链接

  • dataset :基于JSON的数据库。链接

包管理

管理包和依赖的工具。

  • pip:Python 包和依赖关系管理工具。链接

  • pip-tools:保证 Python 包依赖关系更新的一组工具。[链接]https://github.com/jazzband/pip-tools)

  • conda:跨平台,Python 二进制包管理工具。链接

  • Curdling:管理 Python 包的命令行工具。链接

  • wheel:Python 分发的新标准,意在取代 eggs。链接

包仓库

本地 PyPI 仓库服务和代理。

  • warehouse:下一代 PyPI。链接

  • Warehouse:链接

  • bandersnatch:PyPA 提供的 PyPI 镜像工具。链接

  • devpi:PyPI 服务和打包/测试/分发工具。链接

  • localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。链接

分发

打包为可执行文件以便分发。

  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。链接

  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为Debian 包来发布。链接

  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。链接

  • py2app:将 Python 脚本变为独立软件包(Mac OS X)。链接

  • py2exe:将 Python 脚本变为独立软件包(Windows)。链接 --已经比较久没有更新了。

  • pynsist:用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。链接

本文发表于2018年01月02日 12:33
(c)注:本文转载自https://my.oschina.net/u/1433482/blog/1600276,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2905 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1