大爱

自动化测试框架Taffy

2017-09-20

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. 运行环境

  • 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版本:

1
https://www.python.org/downloads/

3.2 IDE

推荐使用PyCharm:

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

3.3 Lib

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

1
2
3
4
5
# 默认安装全部模块
$ 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. 测试执行

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

  1. 图形用户界面GUI

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

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

    注1:也可使用快捷键:Ctrl+Shift+F10

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

  2. 命令行界面CLI

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

1
2
3
4
5
# 执行测试文件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

5.参考资料

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

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

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章