[转]nose框架与自动化测试集成

本文介绍了如何使用Nose测试框架及其XUnit插件进行自动化测试,并与Jenkins集成实现测试结果的自动化报告。详细说明了NoseXUnit插件的安装及使用方法,以及Jenkins如何解析测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【转自】http://blog.sina.com.cn/s/blog_63041bb80101bq2o.html

学习资料

nose官网:http://readthedocs.org/docs/nose/en/latest/index.html

nose内置插件列表:http://readthedocs.org/docs/nose/en/latest/plugins/builtin.html

nose第三方插件列表:https://nose-plugins.jottit.com/

基本命令:

查看帮助:$ nosetests -h

查看已安装的插件:$ nosetests --plugins

NoseXUnit插件简介

官网:http://nosexunit.sourceforge.net/   【生成可支持Hudson使用的xml格式的测试结果】

1、Xunit安装

下载:wget http://pypi.python.org/packages/source/n/nose/nose-1.0.0.tar.gz#md5=47a4784c817afa6ef11a505b574584ed

解压:tar xzvf nose-1.0.0.tar.gz

使用root权限安装:

# su
python setup.py install

2、单独安装XUnit插件

使用root用户登录

1) sh setuptools-0.6c11-py2.7.egg

2) easy_install nosexunit

search用户需要重新登录方可生效

3、XUnit使用

1) 可以直接在nosetests命令后面增加“ --with-xunit ” 来将结果输出到当前目录的nosetests.xml文件中,如:

nosetests --with-xunit

2) 另外,根据需要还可以使用“ --xunit-file ” 参数随意指定结果输出路径和文件名,如:

nosetests --with-xunit --xunit-file=result/test.xml

4、nosetest常用命令行参数

-w,指定一个目录运行测试。目录可以是相对路径或绝对路径。

 -s,不捕获输出,会让你的程序里面的一些命令行上的输出显示出来。例如print所输出的内容。

 -v,查看nose的运行信息和调试信息。例如会给出当前正在运行哪个测试。

Jenkins自动化测试简介

Jenkins自动化测试项目在进行“构建”时,大致的流程如下:

1、从相应的SVN路径check out程序源码,放在测试机~/.jenkins/workspace/项目名 目录下;

2、根据用户配置的Test Execution,在测试机上执行测试,并在本次执行的“命令行输出”打印相应的执行结果;

3、解析“2”中得到的测试结果(一般为JUnit test report形式),根据“Invoke Testlink”中配置的与Testlink的对应关系,将相应的测试用例的执行结果写入Testlink数据库;

4、如果配置了“Attach JUnit XML”,则将测试结果的xml文件以附件的形式上传到Testlink数据库。

注:从Jenkins导入的Testlink测试执行结果的执行人为“admin”

Trouble Shooting

1、执行nosetests错误 AttributeError: 'module' object has no attribute 'parser'

======================================================================
ERROR: test suite for
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 208, in run
self.setUp()
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 291, in setUp
self.setupContext(ancestor)
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/suite.py", line 314, in setupContext
try_run(context, names)
File "/usr/local/python/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/util.py", line 478, in try_run
return func()
File "/application/.../script/test_parser.py", line 26, in testcase123
parser.parser("../data/out123",1)
AttributeError: 'module' object has no attribute 'parser'

解决方法:

在parser.py所在目录下增加空文件 __init__.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值