Web UI测试自动化
splinter - web UI测试工具,基于selnium封装。
selenium - web UI自动化测试。
mechanize- Python中有状态的程序化Web浏览链接
selene - 使用Python + Ajax支持+ PageObjects + Widgets进行简明UI测试
hitch - 基于服务的应用程序的高级集成测试框架。
Needle - Css 自动化测试框架。
seleniumbase - 端到端自动化测试框架。
pytest_splinter - pytest spinter和selenium集成。
Browsermob Proxy - Browsermob Proxy的python包装器。
Selenium-Requests - 扩展Selenium WebDriver类以包含请求库中的请求函数,同时完成所有需要的cookie和请求头处理。
移动测试自动化
appium - 移动端UI自动化测试。
uiautomator- 安卓UI自动化测试。
ATX - 智能手机自动化工具。支持iOS,Android,WebApp和游戏。
uiautomator2- Android Uiautomator2 Python Wrapper。
facebook-wda Facebook WebDriverAgent Python Client Library (not official) 可用于IOS应用测试。
Windows UI测试自动化
Winium.Desktop - 开源测试自动化工具,用于基于WinForms和WPF平台自动测试Windows应用程序,基于Selenium远程WebDriver实现。
pyautogui- 跨平台的UI自动化工具,控制鼠标和键盘。
autopy - 简单的跨平台GUI自动化工具包,适用于Python。
pywinauto - Windows UI自动化。
SikuliX - 基于OpenCV的GUI测试框架,使用图像识别来定位与之间的项目,来自python 2.7的脚本,跨平台。
UI测试
pyautoacad - AutoCAD自动化。
sikuli - 位图自动化。
monkeyrunner- 安卓自动化。
ldtp - Linux UI自动化。
dogtail- Linux UI自动化。
pyautoit- autoit python api。
雪峰磁针石说明: autopy、WATSUP、winGuiAuto因为较长时间未更新未收录
性能测试
funkload - 性能及功能测试工具。
Locust.io– 了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。
Bees with Machine Guns– 进行负载测试的蜜蜂(微型EC2实例)。 语言python3+ python2.6+
Multi-Mechanize– 用于性能和负载测试的开源框架,它运行并发Python脚本以生成针对远程站点或服务的负载(复合事务)。它通常用于Web性能和扩展性测试,但您也可以使用Multi-Mechanize来测试任何远程API。 --基于python多进程和多线程实现,学习自行开发性能测试的佳品。 Python 2.6 or 2.7 较长时间没有更新,一般只建议改造使用。
ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。
boom - 类似ab(ApacheBench)的性能测试工具。
测试框架
pyresttest 接口测试框架
HttpRunner HTTP接口测试框架
augmented-traffic-control facebook开发的最强悍弱网网络模拟工具
Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。
unittest - (Python 标准库) 单元测试框架 链接
mamba - 行为驱动测试框架。
nose- 更好的单元测试框架。
nose2- nose基于unittest2的版本。
pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 -- 强烈推荐
testify - 单元测试框架,提供增强的测试fixture设置,将测试套件拆分成易于并行化的存储bucket,PEP8命名约定,带有大量日志/报告选项及颜色测试运行器。
trial - Twisted的单元测试框架,基于unittest。
Robot Framework- 通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。
green- 彩色(命令行能显示多种颜色)的单元测试框架。
tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。
sixpack- A/B 测试框架。
lettuce- 行为驱动 测试框架。
pyccuracy- 行为驱动 web验收测试框架。
pytest-bdd- 基于pytest的行为驱动 测试框架。
ddt- 数据驱动测试。
behave- 行为驱动测试。
lettuce- 行为驱动测试。
mamba - Python的测试定义工具,基于行为驱动。
pyvows - Python的异步行为驱动开发,Vows.js的python移植。
pyhamcrest - Python的Hamcrest匹配器。
sure - 强大而灵活的断言python测试库。
factory_boy - 基于thinkbot的factory_girl的fixture替代。
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:代码出错也可以执行。
RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
MechanicalSoup:用于自动和网络站点交互的 Python 库。
augmented-traffic-control:网络模拟工具。 -- 强烈推荐
持续交付
buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。
BitBake – 嵌入式Linux上类似make工具。
buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。
PlatformIO – 在不同的开发平台的控制台构建工具。
PyBuilder – 纯Python编写的持续构建工具。
SCons – 软件构建工具。
测试工具对接
jira –自动化JIRA。
awesome-python
管理面板(Admin Panels)
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应用程序。
算法和设计模式(Algorithms and Design Patterns)
Python的算法和设计模式的实现。
algorithms - Python的算法模块。
PyPattyrn - 简单有效实现通用设计模式。
python-patterns - Python中设计模式的集合。
sortedcontainers - SortedList,SortedDict和SortedSet类型的快速,纯Python实现。
反病毒(Anti-spam)
django-simple-captcha - 简单且高度可定制的Django应用,可以将验证码图像添加到任何Django表单。
雪峰磁针石说明:
django-simple-spam-blocker因为github星级太少而未收录
资产管理(Asset Management)
用于管理,压缩和缩小网站资产的工具。
django-compressor - 将链接和内联的JavaScript或CSS压缩到单个缓存文件中。
django-pipeline - Django的资产包装库。
django-storages - Django自定义存储后端集。
fanstatic - 用 Python 的包的方式封装,优化静态文件并解依赖。
fileconveyor - 检测和同步文件到CDN,S3和FTP的后台程序。
flask-assets - 集成web 资源到Flask应用。
jinja-assets-compressor - Jinja扩展程序,用于编译和压缩资源。
webassets - 为静态资源打包,优化和管理基于缓存的唯一URL。
音频(Audio)
操作音频的库。
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 AP