python测试框架&&数据生成&&工具最全资源汇总
Posted qianjinyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python测试框架&&数据生成&&工具最全资源汇总相关的知识,希望对你有一定的参考价值。
xUnit frameworks 单元测试框架
frameworks 框架
unittest - python自带的单元测试库,开箱即用
unittest2 - 加强版的单元测试框架,适用于Python 2.7以及后续版本
pytest - 成熟且功能强大的单元测试框架
plugincompat - pytest的执行及兼容性插件
nosetests - 让python测试更容易一点
slash - python实现的单元测试框架
extensions 扩展
proboscis - 仿TestNG扩展了unittest模块以及Nose的功能
grail - 可以让你一步一步编写测试用例的库
testify - 单元测试框架,提供了加强型fixture,用例切割并行运行,testrunner高亮及详尽的log和report功能
trial - unittest模块的扩展,提供了命令行的testrunner工具以及代码覆盖率的整合,跟nose差不多
subunit - 提供了unittest在另一个进程执行用例并汇总测试数据的能力
testresources - 提供了多用例间管理测试数据的机制,兼容unittest
testtools - 为Twisted和Bazaar提供的unittest扩展
Sancho - 运行用例,并为失败的用例提供报告,但仅限于此
zope.testing - testrunner,提供了不错的debuge能力,并且集成了代码覆盖率。可以跟zope项目使用,也可以用在非zope项目上
pythoscope - 自动或半自动为遗留的python系统创建测试用例的工具
testlib - 更强大的unittest,更多的断言,支持module级的setup/teardown,skip test等...
dutest - An object oriented interface to retrieve unittest test cases out of doctests. Hides initialization from doctests by allowing setUp and tearDown for each interactive example. Allows control over all the options provided by doctest. Specialized classes allow selective test discovery across a package hierarchy.
green - Green是一个简洁多彩的testrunner,跟nose很像
ddt - 让unittest 支持 Data-Driven
pytractor Selenium python bindings的扩展. 目的是让angular项目的测试更简单
TDD ATDD BDD 测试框架
BDD
behave - BDD 框架
lettuce - 又一个BDD框架
lettuce-tools - 一整套lettuce扩展,让BDD更加简单
contexts - Python的描述性测试工具
mamba - python的definitive testing 工具
pyvows - 异步的行为驱动开发测试工具
pytest-bdd - py.test runner的BDD库
robotframework - 最有名的acceptance test-driven development (ATDD)测试框架
awesome-robotframework - 各种rf的扩展库
radish-bdd - BDD框架,支持gherkin语言
Assertions 断言
pyshould - 基于pyhamcrest的Should style断言
pyhamcrest - python版的Hamcrest matchers
sure -python实现的测试库,提供了强大灵活的断言
assertpy - 巨简单的python单元测试断言库,提供了优雅流利的API. 支持Python 2 和 3.
Mocking
mock - python实现的Mocking和Patching库
Ludibrio - 用python实现的优雅的test doubles框架(mocks, stubs, spy, and dummies).
responses - mock请求的 Python测试工具库
doublex - 强大的 test doubles 框架
freezegun - 通过mocking datetime模块实现时光穿梭
httpretty - HTTP请求的mock工具
httmock - requests的mock工具,支持Python 2.6+ and 3.2+.
pretenders - 测试用的fake server
mock-server - 简单的mock sever,支持REST and XML-RPC API,还有基于tornado的管理界面
VCR.py - 自动 mock HTTP 交互 让测试更简单快速
Test Data manipulation 测试数据的操作和处理
faker - 生成假数据的python库
fake2db - 创建假数据库
ForgeryPy - 使用起来很简单的假数据生成库.
radar - 随机生成时间
robotframework-faker - faker的Robot Framework封装
hypothesis - Library for property based testing in Python, based on the Haskell library Quickcheck.
factory_boy - factory_girl的python版本
fauxfactory - 随机数据生成器
Code analysis 代码扫描及分析
pysonar2 - 类型推断
coverage - 覆盖率
pycallgraph - 流程可视化
Flake8 - The modular source code checker: pep8, pyflakes and co.
pylama - Python and javascript的代码审查工具
Pylint - 源代码分析器
hacking - OpenStack Hacking Style Checks (flake8 plugins).
prospector - 代码分析工具,可以输出错误信息,潜在问题,不规范的代码以及代码复杂度
Web UI test automation Web UI 自动化
libraries 各种库
selenium webdriver - 浏览器自动化工具
splinter - 简单的web自动化工具,让元素定位,表单提交等更加容易
mechanize - 有状态可编程的浏览器
frameworks and wrappers 框架和封装
py.saunter - 有主见的自动化测试框架,使用了selenium RC和webdriver api
moz-web-qa - py.test的插件,为Mozilla的WebQA项目提供了额外功能
testutils sst - A web test framework that uses Python to generate functional browser-based tests.
wtframework - 让web测试可以配置的框架
holmium.core - Page Object及其他工具库支持
robotframework-selenium2library - Robot Framework的selenium扩展
gocept.selenium - selenium RC的API, 适合编写基于WSGI, Plone, Zope 2, ZTK, or Grok 应用的测试用例
webium - 基于python的一个Page Object实现
robotframework-anywherelibrary - Robot Framework的扩展库,使用selenium2测试web应用,使用appium测试移动应用
robotframework-pageobjects - 一个不错的Page Object实现,可以脱离robot framework单独使用。 具体看这里
elementium - 用jQuery风格的语法糖来实现浏览器的自动化测试用例
slickqa - slick-webdriver-python 项目是python selenium binding的一个封装
selene - Concise UI 测试用例,使用python实现支持Ajax,PageObjects和Widgets
hitch - 编写基于service的应用的测试用例
Needle - Needle是基于图片比对的测试工作,它可以对web应用的一部分进行截图,然后跟预期结果的图片进行比对
PyPOM - PyPOM是另一个Page Object库,适用于Selenium和Splinter测试
POM - POM是Page-Object-Model 微框架,目的是让Web UI测试更加简单,快速和有乐趣
websmith - Web测试的一套DSL
pages - 轻量的page object库和组建
widgetastic - RedHat UI widget 组建框架
navmazing - PageObjects based navigation from RedHat
nightwatch - 基于python和selenium的UI 自动化测试框架. 灵感来源于nightwatch.js
extensions 扩展
webdriver_manager - 主要目的是让不同版本的浏览器driver管理起来更加方便
pytest_splinter - pytest spinter 和 selenium的集成
lettuce_webdriver - Selenium webdriver 的 lettuce封装
Browsermob Proxy - python的Browsermob Proxy封装
FireRobot - 一个Firefox的扩展,让你可以更高效的编写基于robot framework的selenium用例
pytractor - Python的selenium扩展,以便更好的测试angular.js应用
Selenium-Requests - 扩展 Selenium WebDriver类,包含了Requests库的一些功能,可以更方便的处理cookie和请求头
selenium-respectful - selenium的封装,可以并行访问站点
Mobile test automation 移动端自动化测试工具
appium - 开源的自动化测试框架,可以测试native/hybrid/mobile web应用。核心是基于webdriver协议进行了扩展
Winium.StoreApps - 开源的自动化测试用具,用来测试Windows Store应用,实现了Selenium Remote WebDriver
robotframework-androidlibrary - Robot Framework用来测试android应用的扩展库
robotframework-appiumlibrary - appium的RobotFramework扩展
robotframework-ioslibrary -Robot的ios测试扩展库
uiautomator - Android uiautomator的python封装, 支持 Android 4.1+
ATX - 智能机自动化测试工具. 支持 iOS, Android, WebApp 和游戏
Windows UI test automation Windows的UI测试工具
Winium.Desktop - 测试Windows应用(主要是基于WinForms和WPF平台)的自动化测试工具. 实现了Selenium Remote WebDriver协议
PyAutoGUI - 跨平台的GUI测试工具,支持通过python脚本控制键盘和鼠标
robotframework-autoitlibrary - Robot Framework的windows GUI测试扩展
autopy - 简单跨平台的GUI测试工具集
UISoup - 支持windows和MacOS平台的UI自动化(仅工作在x86平台)
pywinauto - 非常有python面向对象风格的GUI测试库,现已支持64位机器以及py2和py3
SikuliX - 基于OpenCV的 GUI 测试框架, 使用图片识别技术,支持python2.7
Unix Linux UI test automation
ldtp - 跨平台的linux GUI测试项目
fMBT - 支持多平台的python GUI测试库
SikuliX - 基于OpenCV的 GUI 测试框架, 使用图片识别技术,支持python2.7
MacOS UI test automation MacOS UI自动化测试工具
ATOMac - 通过Apple Accessibility API来测试Mac应用的python库
PyAutoGUI - 跨平台的GUI测试工具,支持通过python脚本控制键盘和鼠标
SikuliX - 基于OpenCV的 GUI 测试框架, 使用图片识别技术,支持python2.7
REST API Testing REST API测试
Rester - 测试RESTful API的框架
pyresttest - REST以及API microbenchmarking工具
siesta - Python REST 客户端
Virtual environments 虚拟环境
virtualenv - 创建隔离的python开发环境的工具
virtualenvwrapper - virtualenv的一些扩展
tox - 虚拟环境管理,可以在不同的python版本上进行测试和截图
pew - 一些管理虚拟环境的工具
Vex - 在命名的虚拟环境运行命令
PyRun - 单文件无需按照的python版本
pyenv - 简单的python版本管理
Tapper - all-embracing test infrastructure.
Performance & stress & load 性能测试
Multi-Mechanize - 开源的性能测试框架
locust - 可扩展的python性能测试工具
Yandex.Tank - 性能及benchmark工具
pytest-benchmark - py.test的benchmark工具
Airspeed Velocity - 简单的Python benchmarking工具自带基于web的报告
The Grinder - 支持分布式的负载测试框架. 包含一些常规用例,比如 HTTP web servers, SOAP and REST web services, 和 application servers (CORBA, RMI, JMS, EJBs),以及定制化的协议. 测试脚本使用Jython和Clojure实现
Tsung - 开源,支持多协议的分布式性能测试工具. 可以测试 HTTP, WebDAV, SOAP, PostgreSQL, mysql, LDAP 和 Jabber/XMPP 服务
taurus - 自动化友好的持续测试工具
Security checking 安全扫描
sparta - 支持gui的网络扫描工具
OWASP ZAP - 用python实现的OWASP ZAP-features API
pythem - pythem是多用途的安全测试工具
以上是关于python测试框架&&数据生成&&工具最全资源汇总的主要内容,如果未能解决你的问题,请参考以下文章
API接口自动化测试框架搭建(二十三)-框架主入口main.py设计&测试报告调用和生成
WindowsGUI自动化测试框架搭建(十四)-框架主入口main.py设计&sendmail邮件服务调用和生成
API接口自动化测试框架搭建(二十四)-框架主入口main.py设计&log日志调用和生成
API接口自动化测试框架搭建(二十五)-框架主入口main.py设计&sendmail邮件服务调用和生成