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是多用途的安全测试工具

转载于:https://www.cnblogs.com/qianjinyan/p/10444054.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

t30智能插座怎么设置_如何设置ConnectSense智能插座

t30智能插座怎么设置If you like the idea of smart outlets, but wish you had one with more than just one receptacle on it, the ConnectSense Smart Outlet is worth looking into. Here’s how to set it up and instantly get double the fun. 如果您喜欢智能插座的想法…

用链表和数组实现HASH表,几种碰撞冲突解决方法

Hash算法中要解决一个碰撞冲突的办法,后文中描述了几种解决方法。下面代码中用的是链式地址法,就是用链表和数组实现HASH表。 he/*hash table max size*/ #define HASH_TABLE_MAX_SIZE 40/*hash table大小*/ int hash_table_size0;/*.BH----------------…

安卓操作sqlite3,增删改查

创建 layout <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orientation"vertical"android:layout_width"match_parent"android:layo…

基于.NetCore开发博客项目 StarBlog - (23) 文章列表接口分页、过滤、搜索、排序

1前言上一篇留的坑&#xff0c;火速补上。在之前的第6篇中&#xff0c;已经有初步介绍&#xff0c;本文做一些补充&#xff0c;已经搞定这部分的同学可以快速跳过&#xff0c;基于.NetCore开发博客项目 StarBlog - (6) 页面开发之博客文章列表对标准的WebApi来说&#xff0c;分…

如何在Chrome中保存您当前的所有标签,以便以后阅读

Chrome allows you to open tabs from your last browsing session when you open the browser. However, what if you want to save your current set of tabs to re-open at any time? Chrome doesn’t provide a way to do that natively, but there is an easy workaround…

ubuntu 16.04(Windows 10双系统+grub引导)无法进入tt1~tt6(NVIDIA驱动安装相关-黑屏,login loop,分辨率)...

目录 前言回顾最终解决&#xff1a;0.关闭x服务1.禁用nouveau2.加入3.更新4.查找匹配驱动5.选择推荐版本6.等待安装后重启,nvidia-smi查看是否安装成功,或者lsmod | grep nvidia&#xff0c;成功结果如下7.重启x服务8.此时还不能进入图形界面&#xff0c;因为nomodeset还在&…

(备忘)打开office2010总是在配置进度

1、同时按上键盘上面的windows键和R键&#xff0c;出现“运行” 2、输入“regedit”&#xff0c;回车进入注册表 3、点击“HKEY_CURRENT_USER”展开&#xff0c;依次“Software”--“Microsoft”--“Office”--"14.0"--"Word"展开&#xff0c;点击"Op…

java、oracle对CLOB处理

oracle CLOB字段转换位VARCHAR 1.实际上处理CLOB字段的时候&#xff0c;直接TO_CHAR&#xff0c;当长度超过4000的时候&#xff0c;会报错&#xff0c;提示列被截取&#xff1b; CLOB转varchar2&#xff1a;select to_char(CLOB字段) from table 2.直接使用SUBSTR对CLOB字段进行…

android 更改软键盘_如何在Android的Google键盘上更改声音和振动

android 更改软键盘Tactile feedback from a touch screen keyboard is crucial, in my opinion, but I don’t like sounds when I tap keys. You may not be like me—maybe sounds are your thing, but vibration is annoying. Or maybe you dislike both (you rebel!). The…

『 再看.NET7』看看required属性有什么不同

还是先看看C#中属性的这定义&#xff0c;在初始化和访问上有哪些方式&#xff0c;就能看出required属性有什么不一样的地方了。属性&#xff0c;是封装字段的&#xff0c;通过get和set访问器可以很好地验证数据的有效性。public record Order_00 {public Guid Id { get; set; }…

知识点:Mysql 索引原理完全手册(1)

知识点&#xff1a;Mysql 索引原理完全手册(1) 知识点&#xff1a;Mysql 索引原理完全手册(2) 知识点&#xff1a;Mysql 索引优化实战(3) 知识点&#xff1a;Mysql 数据库索引优化实战(4) Mysql-索引原理完全手册 一、 介绍二、 索引的原理三、 索引的数据结构四、 聚集索引与辅…

如何将Apple Mail建议用于事件和联系人

Apple products come preinstalled with an email client that can, on occasion, be quite smart. Today we want to show you another great feature: suggestions for event and contacts. Apple产品预装了一个电子邮件客户端&#xff0c;该客户端有时可能非常聪明。 今天&a…

TPshop表结构

tp_account_log -- 账户表 字段名字段类型默认值描述log_idmediumint(8) unsigned 日志iduser_idmediumint(8) unsigned 用户iduser_moneydecimal(10,2)0.00用户金额frozen_moneydecimal(10,2)0.00冻结金额pay_pointsmediumint(9) 支付积分change_timeint(10) unsigned 变动时间…

Redis 通配符批量删除key

问题&#xff1a; 线上有部分的redis key需要清理。 一、 由于Keys模糊匹配&#xff0c;请大家在实际运用的时候忽略掉。因为Keys会引发Redis锁&#xff0c;并且增加Redis的CPU占用&#xff0c;情况是很恶劣的&#xff0c; 官网说明如下&#xff1a; Warning: consider KEYS as…

如何在 .Net 7 中将 Query 绑定到数组

在 .Net 7 中&#xff0c;我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。代码演示 假设我们需要从 query 上接受多个 id 并返回查询的结果。例如&#xff1a;id1&id2在 .Net 7 中&#xff0c;我们可以这样实现&…

xbox one 越狱_如何在Xbox One上播放视频和音乐文件

xbox one 越狱The Xbox One has integrated TV features and support for streaming media apps like Netflix and Hulu, but that isn’t where it ends. You can play video and music files you’ve ripped or downloaded by plugging in a USB drive or streaming them ove…

C++实验七

11——3 #include<fstream>using namespace std;int main(){ ofstream file; file.open("test1.txt",ios_base::binary); file<<"已成功添加字符&#xff01;"; file.close(); return 0; } 11-4 #include<fstream>#include<iostrea…

Visual Studio 15.4发布,新增多平台支持

微软发布了Visual Studio 2017的第四个升级版本&#xff0c;并且延续了支持.NET Standard 2.0和通用Windows平台&#xff08;UWP&#xff09;的承诺。.NET Standard 2.0支持是微软推动跨平台应用程序开发和代码重用战略的重要一环。\\15.4版本的变化与微软发布的预览版非常接近…

重新学习web后端开发-001-写在前面的话

"长风破浪会有时 直挂云帆济沧海" —— 李白<!-- more --> 1. 为什么会写这个系列 随着互联网技术飞速的非常&#xff0c;web开发一直都是互联网技术的重要部分之一。在作者十余年的工作中&#xff0c;经历了从程序员到高级工程师&#xff0c;然后开始负责项目…

WPF-20 ICommand命令绑定

这节我们介绍一下WPF中比较重要的接口ICommand&#xff0c;也是WPF中一个新的特性&#xff0c;做过WinForm朋友都知道&#xff0c;WinForm开发是基于事件驱动开发模式&#xff0c;比如一个Button有Click事件&#xff0c;当我点击该按钮时&#xff0c;在当前页面会执行具体的业务…