Python测试开发库
参考资料
测试开发
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。链接
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:伪造数据库生成器。链接
雪峰磁针石说明:
其他测试工具
coverage:代码覆盖率。链接
FuckIt.py:代码出错也可以执行。链接
RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。链接
MechanicalSoup:用于自动和网络站点交互的 Python 库。链接
augmented-traffic-control:网络模拟工具。链接 -- 强烈推荐
持续交付
buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。 链接 python库介绍-buildbot教程
BitBake – 嵌入式Linux上类似make工具。链接
buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。链接
PlatformIO – 在不同的开发平台的控制台构建工具。链接
PyBuilder – 纯Python编写的持续构建工具。链接
SCons – 软件构建工具。链接
测试工具对接
jira –自动化JIRA。链接
参考资料