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 測試框架

 

  • 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 測試數據的操做和處理

Code analysis 代碼掃描及分析

  • pysonar2 - 類型推斷html

  • 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的框架python

  • pyresttest - REST以及API microbenchmarking工具linux

  • siesta - Python REST 客戶端android

Virtual environments 虛擬環境

  • virtualenv - 建立隔離的python開發環境的工具ios

  • virtualenvwrapper - virtualenv的一些擴展git

  • tox - 虛擬環境管理,能夠在不一樣的python版本上進行測試和截圖github

  • pew - 一些管理虛擬環境的工具web

  • 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是多用途的安全測試工具

相關文章
相關標籤/搜索