All Projects → lovesoo → Taffy

lovesoo / Taffy

Test Automation Framework Based On Nosetests. ✨🍰✨

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Taffy

Xmall
基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统:Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等
Stars: ✭ 6,493 (+6807.45%)
Mutual labels:  dubbo, redis
Springbootexamples
Spring Boot 学习教程
Stars: ✭ 794 (+744.68%)
Mutual labels:  dubbo, redis
Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (+724.47%)
Mutual labels:  sql, redis
Netdiscovery
NetDiscovery 是一款基于 Vert.x、RxJava 2 等框架实现的通用爬虫框架/中间件。
Stars: ✭ 573 (+509.57%)
Mutual labels:  redis, selenium
Javaall
这是一个Java开发宝典,所有的Java技术都在这里,用心学习,努力提升!
Stars: ✭ 67 (-28.72%)
Mutual labels:  dubbo, redis
Perfect Ssm
🍇更完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis)
Stars: ✭ 606 (+544.68%)
Mutual labels:  dubbo, redis
Java Knowledge Mind Map
【🌱🌱Java服务端知识技能图谱】用思维脑图梳理汇总Java服务端知识技能
Stars: ✭ 787 (+737.23%)
Mutual labels:  dubbo, redis
Spring Samples For All
spring、spring-boot、spring-cloud 常用整合用例
Stars: ✭ 401 (+326.6%)
Mutual labels:  dubbo, redis
Eshop Soa
EShop基于Dubbo实现SOA服务化拆分,并基于RocketMQ解决了分布式事务(新版SpringBootSOASkeleton)
Stars: ✭ 65 (-30.85%)
Mutual labels:  dubbo, redis
Springboot
SpringBoot 整合各类框架和应用
Stars: ✭ 54 (-42.55%)
Mutual labels:  dubbo, redis
Gofamily
🔥 大厂 BAT 面试高频知识点,后端技术体系。包含了 C GO Python, 网络,Redis ,MySQL ,消息队列 ,高并发,微服务,缓存,操作系统,算法,LeetCode 刷题等知识
Stars: ✭ 474 (+404.26%)
Mutual labels:  sql, redis
Docker Superset
Repository for Docker Image of Apache-Superset. [Docker Image: https://hub.docker.com/r/abhioncbr/docker-superset]
Stars: ✭ 86 (-8.51%)
Mutual labels:  sql, redis
Onemall
芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
Stars: ✭ 5,312 (+5551.06%)
Mutual labels:  dubbo, redis
Python Spider
豆瓣电影top250、斗鱼爬取json数据以及爬取美女图片、淘宝、有缘、CrawlSpider爬取红娘网相亲人的部分基本信息以及红娘网分布式爬取和存储redis、爬虫小demo、Selenium、爬取多点、django开发接口、爬取有缘网信息、模拟知乎登录、模拟github登录、模拟图虫网登录、爬取多点商城整站数据、爬取微信公众号历史文章、爬取微信群或者微信好友分享的文章、itchat监听指定微信公众号分享的文章
Stars: ✭ 615 (+554.26%)
Mutual labels:  redis, selenium
Opserver
Stack Exchange's Monitoring System
Stars: ✭ 4,126 (+4289.36%)
Mutual labels:  sql, redis
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+736.17%)
Mutual labels:  dubbo, redis
Ibase4j Springboot
Spring,SpringBoot,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis缓存,Shiro权限管理,Spring-Session单点登录,Quartz分布式集群调度,Restful服务,QQ/微信登录,App token登录,微信/支付宝支付;日期转换、数据类型转换、序列化、汉字转拼音、身份证号码验证、数字转人民币、发送短信、发送邮件、加密解密、图片处理、excel导入导出、FTP/SFTP/fastDFS上传下载、二维码、XML读写、高精度计算、系统配置工具类等等。
Stars: ✭ 348 (+270.21%)
Mutual labels:  dubbo, redis
Highdsa
2018年本科毕设项目,已更新所有开发和部署文档。基于Dubbo、SSM、Shiro、ELK、ActiveMQ、Redis等实现的一套高可用、高性能、高可扩展的分布式系统架构,实现可支持业务的基础公共服务,API使用Restful风格对外暴露。已经实现的包括:发送邮件服务、FastDFS文件存储服务、ELK实时日志查询服务、Redis缓存服务、Mybatis数据库、阿里短信推送、Goeasy消息推送、Druid监控、ActiveMQ消息队列、shiro权限认证、cas单点登录、权限配置web系统、移动端后台系统。持续更新中......
Stars: ✭ 385 (+309.57%)
Mutual labels:  dubbo, redis
Geek Framework
基于SpringBoot+Shiro+Redis+Jwt+Thymeleaf+MyBatis 开发的后台用户、角色、权限、会员管理、RestFul、Token和前台用户登录注册以及前后台用户分离的脚手架,技术交流请加QQ群:805442966
Stars: ✭ 804 (+755.32%)
Mutual labels:  dubbo, redis
Cs Books
超过1000本的计算机经典书籍、个人笔记资料以及本人在各平台发表文章中所涉及的资源等。书籍资源包括C/C++、Java、Python、Go语言、数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经~
Stars: ✭ 1,215 (+1192.55%)
Mutual labels:  sql, redis

Taffy

Taffy is a Test Automation Framework based on nosetests.

Taffy is usesd mainly to test interface including Http, dubbo/hessian, Webservice, Socket and etc.

Taffy also provided encapsulation and realized the interfaces of data check, config read, DB / redis operations, data encryption / decryption and etc.

The basic useage can be found at Tests/ folder.

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

Taffy主要适用于服务端接口(包含且不限于Http, Dubbo/hessian, Webservice, Socket等协议)功能及性能自动化测试;也可集成Selenium, Appium进行WEB或APP的自动化测试。

Taffy同时封装实现了配置读取、数据对比、DB/Redis操作、数据加解密、正交表生成测试用例等工具类。

基本用法可以参考Tests/目录。

欢迎加入QQ群交流讨论:25452556

目录

0. 更新记录

20181010 v1.7 Python 3.7版本适配,现已支持Python2.7 - 3.7

20171030 v1.6 支持模块自定义配置安装,详见setup.py

20171015 v1.5 新增《Taffy入门教学视频

20171010 v1.4 支持分布式模式运行locust

20171009 v1.3 统一配置文件格式为YAML

20170928 v1.2 集成locust,相同脚本可同时进行功能自动化及性能测试,详见附录7-1

20170922 v1.1 集成selenium,新增相关测试demo

20170920 v1.0 发布第一个版本,支持http/hessian/webservice等类型接口功能自动化测试,并提供相关Util工具类

1. 运行环境

  • macOS,linux,windows
  • nose 1.3.7
  • python 2.7 - 3.7

2. 项目结构

  1. config 配置文件
  2. Tests 测试用例
  3. Util 工具类
    • checkTool 数据比较
    • commonTool 配置文件读取
    • DBTool 数据库操作
    • hessianTool hessian接口
    • httpTool http接口
    • locustTool locust集成
    • OATool 正交表设计测试用例
    • redisTool redis/redis cluster操作
    • securityTool 数据加解密
    • seleniumTool selenium集成
    • webserviceTool webservice接口

3. 环境部署

3.1 Python

请根据需要下载Python 2.7或3.7版本:https://www.python.org/downloads/

3.2 IDE

推荐使用PyCharm:http://www.jetbrains.com/pycharm/

3.3 Lib

requirements.txt 中存放了Taffy用到的第三方lib库,可以运行python setup.py进行模块安装配置,命令如下:

# 默认安装全部模块
$ python setup.py

# -h或--help,查看帮助
$ python setup.py -h

3.4 PyCharm配置

  1. 运行PyCharm,打开下载的项目:taffy

  2. 「File」–>「Settings 」–>「Project:Taffy」->「Project Interpreter」,配置Python interpreter为当前python版本安装目录

  3. 「File」–>「Settings 」–>「Tools」->「Python Integrated Tools」–>「Nosetests」,配置Default test runner为Nosetests

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

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

4. 测试编写执行及报告导出

4.1 功能自动化测试

4.1.1 测试编写

taffy目前只支持nose方式编写测试用例,详见附录7-2

后续可扩展支持其他方式,如以excel,csv,yaml等数据驱动形式保存用例

4.1.2 测试执行

可以使用两种方式执行功能自动化测试脚本:

  1. 图形用户界面GUI

    在PyCharm中,选中测试文件,如Tests/test_demo.py

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

    快捷键:Ctrl+Shift+F10,在脚本中使用会单独执行选中的test class或func

  2. 命令行界面CLI

在PyCharm下方Terminal终端中,输入命令执行测试:

# 执行测试文件test_demo.py
$ nosetests -v Tests/test_demo.py

# 单独执行测试文件test_demo.py中测试类test_demo下的test_http测试方法
$ nosetests -v Tests/test_demo.py:test_demo.test_http

更多nosetests运行选项,请参考nostests官方文档

4.1.3 测试报告

功能自动化测试执行完成后,在Pycharm左下方Run窗口的Testing toolbar中,选择“Export Test Results”按钮即可导出测试报告

详见《PyCharm运行Nosetests并导出测试报告》

4.2 性能测试

4.2.1 配置config/locust.yml

4.2.2 运行locust

运行test_locust.py生成locustfile及执行性能测试,命令如下:

$ cd Taffy\Tests
$ python test_locust.py

4.2.3 测试报告

  1. 普通模式

    locust以普通模式运行时,可在web页面实时查看运行结果,包括请求数,响应时间,RPS,失败率等

    测试执行完成后可在WEB页面下载CSV格式测试报告(选择Download Data -> Download response time distribution CSV)

  2. no-web模式

    locust以no-web模式运行时,csv格式数据会定时保存在运行目录下,如locust_distribution.csv和locust_requests.csv

Taffy集成locust性能测试框架使用说明,详见附录7-1

5. 参考资料

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

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

  3. https://docs.locust.io/en/latest/

  4. http://www.cnblogs.com/yufeihlf/p/5764099.html

6. 联络方式

QQ交流群:25452556

7. 附录

7.1 locust框架集成使用说明

《Taffy集成Locust性能测试框架使用说明》

7.2 nose编写测试用例方法

《nose框架编写测试用例方法》

7.3 Jenkins集成

《Jenkins集成taffy进行自动化测试并输出测试报告》

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].