Taffy是基于nosetests的自动化测试框架。

Taffy主要用来测试后台服务接口(包括且不限于Http, Dubbo/hessian, Webservice, Socket等类型),也可以集成Selinum, Appium进行Web或APP的自动化测试。

Taffy封装实现了结果对比,配置读取,DB/Redis操作,数据加解密等接口。

基本用法可以参考:test_demo.py

Github地址:https://github.com/lovesoo/Taffy

1. 运行环境

1) macOS,linux,windows

2) nose 1.3.7

3) python 2.7

2. 项目结构

1) config 配置文件

2) Tests 测试用例

3) Util 工具类

checkTool   -  比较方法及结果校验

commonTool  -  配置文件读取

DBTool  -  数据库操作(mysql,sqlserver)

hessianTool  -  hessian接口调用

httpTool  -  http接口调用

OATool  -  正交表设计测试用例

redisTool  -  redis操作(支持redis及redis cluster)

securityTool  -  数据加解密

seleniumTool  -  selenium PageObject对象封装

webserviceTool  -  webservice接口调用

3. 环境部署

3.1 Python

请下载安装Python2.7.x版本:https://www.python.org/downloads/

3.2 IDE

官网地址:http://www.jetbrains.com/pycharm/

下载安装完成后,注册时选择License server,输入:http://idea.imsxm.com 即可激活^^

3.3 安装第三方lib库

使用pip install可以安装大多数的lib库::

1
2
3
4
5
#可以单独安装lib库
pip install xxxlib
#也可以批量安装
pip install -r requirements.txt

Windows下,一些棘手的lib库安装方法:

1) mysql-python

首先安装Microsoft Visual C++ Compiler for Python 2.7:http://aka.ms/vcpython27

然后下载msi包安装:https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/

2) pymssql

可直接下载exe包安装: https://pypi.python.org/pypi/pymssql/2.1.1#downloads

python2.7+32位windows系统,请选择:pymssql-2.1.1.win32-py2.7.exe (md5)

3) pyhessian

Github地址:https://github.com/theatlantic/python-hessian

下载zip包,解压后进行文件夹内,运行如下命令安装:

1
python setup.py install

4) webdriver

这里只说下chromedriver的下载配置方法:

下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads

下载chromedriver_win32.zip,解压后将chromedriver.exe放到Python安装路径下(如C:\Python27\)

4. 使用方法

4.1 Pycharm配置

1)「File」–>「open」,打开下载的项目taffy

2)「Run」–>「Edit Configurations」–>「Defaults」->「Python」,配置Python interpreter为当前python版本安装目录

3)「Run」–>「Edit Configurations」–>「Defaults」->「Python tests」–>「Nosetests」,Python interpreter为当前python版本安装目录,并在Interpreter options中填入-s用以显示nose运行及调试信息

4.2 执行测试用例

1) 选中Tests/test_demo.py

2) 鼠标右键选择Run 'Nosetests in test_demo.py'即可执行测试

3) 也可使用快捷键执行测试:Ctrl+Shift+F10

4) 在脚本中使用快捷键Ctrl+Shift+F10,会单独执行选中的test class下的一个test func

5.参考资料

1. http://nose.readthedocs.io/en/latest/index.html

2. https://docs.python.org/dev/library/unittest.html

自动化测试框架Taffy相关推荐

  1. Taffy自动化测试框架Web开发,Python Flask实践详解

    1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 本页面适用所有基于taffy/nose框架编写的自动化测试脚本,或基于unit ...

  2. 软件自动测试框架,软件自动化测试框架的研究和实现

    摘要: 软件自动化测试是软件工程领域的一项重要课题.随着软件工程理论的不断发展,软件自动化测试在理论上也不断达到新的高度.目前最为成熟的软件自动化测试技术是使用自动测试框架来指导自动化测试的实现.迄今 ...

  3. 转:一个简单的基于WEB的QTP自动化测试框架-SAFFRON

    来源: http://www.itestware.com/ctest/index.php?option=com_content&view=article&id=62:webqtp-sa ...

  4. 2021年需要学习Python的自动化测试框架有哪些?你知道吗?

    从某种程度来讲,自动化测试是未来的发展趋势,它可以很好地节省时间成本和人力成本,提高工作效率.那么Python自动化测试框架有哪些?相信很多人都不太了解,我们一起来看看吧. 一.Robot Frame ...

  5. 我在兰亭这三年之AutoDiff自动化测试框架

    不知不觉已经写了8个关于我在兰亭这三年的主题,其实在刚开始起草的时候就已经想好了写哪些内容,预告一下总共有10个主题,这是倒数第二个.我在前面也讲过两则关于自动化的主题,其实之前的实践还远远不止这些, ...

  6. 给接口自动化测试框架增色,实现企业微信测试报告

    作者在新项目中搭建了python+requests+unittest+HTMLTestRunner接口自动化测试框架,通过修改配置文件实现环境隔离,一份脚本即可在不同的环境执行接口测试用例. 但是没有 ...

  7. 自动化测试框架的隐藏小细节,你都知道么

    辅助平台 除了自动化测试框架本身,一些跟持续集成相关的辅助平台也会对自动化测试有很大的帮助.比如CI可以进行交付件部署.测试调度:源代码平台可管理产品和测试脚本的代码:依赖管理器一般是针对某种语言类库 ...

  8. 从理论到工具 - 带你全面了解自动化测试框架

    什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程, ...

  9. 自动化测试系列-自动化测试框架那些事儿

    无论是在自动化测试实践,还是日常交流中,经常听到一个词:框架.很多小伙伴一直对"框架"这个词知其然不知其所以然.今天咱就聊聊自动化框架的那些事儿吧... 一.什么是框架 框架(fr ...

最新文章

  1. FPGA(2)基础语法 -- 按键控制led(alway@语句)
  2. java 和 Android Base64加密
  3. 操作系统(科普章节)
  4. 20165204 第十周课下作业补做
  5. [EF4] CompiledQuery预编译性能提升 + 数据载入之大彻大悟
  6. 自然语言处理在开放搜索中的应用
  7. 电脑屏保海底世界_世界上最后一个深海实验室,隐藏了人类未来的秘密
  8. js日期控件_11个开源的Github开源日期选择器组件,供你选择
  9. 201632位matlab下载_【科研利器】带你get“研”途上的MATLAB入门篇
  10. Beetle简单构建TCP服务
  11. mac下Flash cc2014的破解方法
  12. Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)
  13. sre工程师_什么是SRE? 现场可靠性工程师的重要作用
  14. 【KnewOne Talk】芋头君:不想做码农
  15. win10 自动同步时间脚本
  16. 序列化之Serialize
  17. 【连载】IOS开发-图形渲染(一)
  18. Halcon齿轮测量
  19. windows 重启网络的cmd命令
  20. mhdd中文说明完整版

热门文章

  1. 【cadence virtuoso 实践记录(3)_gm/id 仿真方法】
  2. Python中的排序函数
  3. 电脑屏幕分辨率分布统计(基于CNZZ统计数字) 2012-03 更新
  4. [转]清水吉治的设计效果图
  5. 云计算机教室课堂教学设计方案,专题十 多媒体教室环境下的课堂教学设计
  6. 在加入域时又出现了“不能访问网络位置”的错误 的解决
  7. vue form action post 方式提交
  8. php sequelize,Sequelize中用group by进行分组聚合查询
  9. PO、VO...各对象的区别
  10. 软路由的路由功能设置 - 初学者系列 - 学习者系列文章