简洁的python测试框架——Croner
[本文出自天外归云的博客园]
Croner简介

这是一个非常简洁的测试框架,是基于python3的nose进行二次开发的。
可以随意的在此基础上进行扩展以支持jenkins等其他扩展操作。
设计这个框架的初衷是基于已有,灵活定制。清楚自己要的是什么,不做任何多余功能。
与Auty的不同点
1. 测试用例与测试框架分离,在git单独维护;
2. 基于nose开发,编写测试用例遵循nose规范;
3. 本地PowerShell调用窗口执行,UI极简;
4. 核心思想就是定时执行和测试结果分析与报警,提供一种测试监控机制。
设计思路
1. 初衷是想把python的croner用到测试框架当中,将定时任务与测试的定时执行监控结合到一起;
2. 选择nose作为测试驱动框架是因其部署安装方便、各种插件支持、功能较完善且支持多线程,能够支持日常测试业务的需要,无需重复造轮子;
3. 为了能够像java的TestNG框架那样方便的使用dataprovider,我也写了一个类似的test_data_tool.py文件,里面包含了可以用来数据驱动的装饰器;
4. 将测试用例从测试框架的仓库分离出来,单独作为一个仓库维护,算是一种解耦,可以通过配置文件灵活选择需要进行测试的用例仓库;
5. 启动测试后会自动根据配置的测试用例仓库进行下载或更新,然后执行用例。

简洁的python测试框架——Croner的更多相关文章
- 用 Python 测试框架简化测试
用 Python 测试框架简化测试 摘要:本文将向您介绍了三种流行 Python 测试框架(zope.testing,py.test,nose)的基本特性,并讨论新一代的测试风格. 最近出现了行业级的 ...
- 【转载】Python测试框架doctest
原文在这里 :Python测试框架doctest 先记录一下,直接复制粘贴后,排版是乱的,后续再弄.
- 全功能Python测试框架:pytest
python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest. imag ...
- <自动化测试>之<使用unittest Python测试框架进行参数化测试>
最近在看视频时,虫师简单提到了简化自动化测试脚本用例中的代码量,而python中本身的参数化方法用来测试很糟糕,他在实际操作中使用了parameterized参数化... 有兴趣就查了下使用的方法,来 ...
- python 测试框架nose
python测试框架nose nose不是python自带模块,这里我才用pip的方式安装 pip install nose 这样就完成了安装,然后再确认下是否安装成功了,直接打开cmd输入noset ...
- Python测试框架unittest
Python测试框架unittest 一.unittest框架 (1)unittest特点 1.python自带的单元测试框架,不需要安装 2.用例执行互不干扰 3.提供不同范围的setUp和tear ...
- Python测试框架pytest入门基础
Pytest简介 Pytest is a mature full-featured Python testing tool that helps you write better programs.T ...
- 收藏清单: python测试框架最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
- 转 python测试框架最全资源汇总
转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...
随机推荐
- 线程同步之mutex和Semaphore
表示之前对semaphore信号量木有神码概念. 比较纳闷这玩意要干嘛,好吧继续stackflow: Mutex can be released only by thread that had acq ...
- 【LeetCode】200. Number of Islands (2 solutions)
Number of Islands Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. ...
- 给定数组a[1,2,3],用a里面的元素来生成一个长度为5的数组,打印出其排列组合
给定数组a[1,2,3],用a里面的元素来生成一个长度为5的数组,打印出其排列组合 ruby代码: def all_possible_arr arr, length = 5 ret = [] leng ...
- block(七)__block和__weak的区别-b
在MRC下,我们通常使用__block , 而在ARC下我们通常使用__weak , 或者__unsafe_unretaine __block(不安全,不建议使用) 来修饰对象防止循环引用而造成的内存 ...
- Access2007 操作或事件已被禁用模式阻止解决办法
在“消息栏”上,单击“选项”. 在“Microsoft Office 安全选项”对话框中,单击“启用此内容”,然后单击“确定”. 如果没有看到消息栏在“数据库工具”选项卡上的“显示/隐藏”组中,单击“ ...
- Linux内核系统体系概述
Linux 内核主要由 5 个模块构成,它们分别是: 进程调度模块 用来负责控制进程对 CPU 资源的使用.所采取的调度策略是各进程能够公平合理地访问 CPU,同时保证内核能及时地执行硬件操作. 内存 ...
- 使用base64编码的好处
在项目中,将报文进行压缩.加密后,最后一步必然是使用base64编码,因为base64编码的字符串,更适合不同平台.不同语言的传输: 它不受其他编码的影响,仍然保持不变,这点很有意义,如下验证: St ...
- Raid介绍
https://wsgzao.github.io/post/raid/ http://www.cnblogs.com/Bob-FD/p/3409221.html
- js 万恶之源 是否滚动到底部?
let scrollHandle = (el) => { // 如果已经滚到底部了 if (el.scrollHeight - el.scrollTop === el.clientHeight) ...
- css 温故而知新 字体方向 将文字竖着显示
writing-mode: vertical-rl;