Croner test framework.
这是一个基于cron和nose开发的简洁python测试框架。
- 基于本地部署与执行
- 基于python nose测试框架
- 基于git管理测试用例
- 基于cron定时执行测试
-
测试脚本仓库
#在test文件夹的test_scripts文件夹中
- 在config文件中配置测试脚本仓库所在的git路径
- 执行测试时自动从配置的git路径下载/更新测试用例
- 测试用例在git仓库独立维护
-
测试工具
#在test文件夹的test_tools文件夹中
- 提供数据驱动方法
- 可以自行添加测试工具文件到该文件夹中
-
定时任务与报警功能
#在lib文件夹中的cron.py文件中
- 利用python cron定时执行测试
- 每次执行完测试后对测试结果进行分析
- 若有失败的测试结果立刻报警(发邮件/发...)
- 已安装python3
- 已安装python的pip工具
- 已设置PowerShell脚本执行策略为Unrestricted
- 已安装python的nose框架并完成了2to3的转换
- 配置git安装路径的bin目录路径到path环境变量(例如:C:\Program Files\Git\bin)
- 执行setup.ps1文件安装requirements.txt文件中指定的python库
- 编写测试用例脚本(示例如下)
# -*- coding: utf-8 -*-
from nose.tools import *
from parameterized import parameterized
import os
import sys
from test.test_tools.test_data_tool import *
@istest
class Test():
test_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
file_path = os.path.join(test_path,"test_data","QueryTradeInfoTester.csv")
@parameterized.expand([
(file_path, 1),
(file_path, 2),
(file_path, 3),
])
def test_1(self, file_path, t_data_number):
t_data = get_t_data(file_path)
setattr(self, 't_data', t_data[t_data_number-1])
print(self.t_data['retCode'])
assert_equal(self.t_data['retCode'],"200")
- 执行start.ps1文件开始测试