xUnit frameworks 單元測試框架
- frameworks 框架
- 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是多用途的安全測試工具