基于python+Testlink+Jenkins实现的接口自动化测试框架
by:授客 QQ:1033553122
博客:http://blog.sina.com.cn/ishouke
欢迎加入软件性能测试交流QQ群:7156436
目录
1、 开发环境... 1
2、 主要功能逻辑介绍... 1
3、 框架功能简介... 3
4、 框架模块详细介绍... 3
5、 Testlink相关的配置与用例管理... 10
6、 运行结果... 13
7、 源码下载... 14
8、 说明... 14
win7
PyCharm 4.0.5
python 3.3.2
testlink-1.9.14
下载地址:http://pan.baidu.com/s/1c16H50O
安装教程:http://blog.sina.com.cn/s/blog_13cc013b50102w9am.html
TestLink-API-Python-client-master
下载地址:http://pan.baidu.com/s/1pLrcunT
1、框架集成了Testlink,可使用Testlink灵活对测试项目,测试计划,测试用例进行管理
2、可通过配置文件灵活配置运行模式,支持按测试项目、测试计划、测试套件批量运行执行用例
3、支持HTTPS,HTTP,WebService协议,支持POST, GET方法,支持JSON,非JSON数据格式的请求,支持多种形式的数据校验
4、可自动生成HTML可视化接口测试报告
5、可根据配置在测试完成后,自动发送测试报告邮件
6、支持文件、控制的日志打印,可分别控制开关
7、支持模块化开发
8、可集成Jenkins自动运行脚本
参考文章:为Jenkins添加Windows Slave远程执行python项目脚本
a) config
dbconfig.conf:包含测试数据库,应用数据库的配置信息
logconfig.conf:包含日志配置信息,具体如下:
mail.conf:包含邮件发送配置信息,如下,
注:不同类型的邮箱(发件人邮箱),需要修改配置文件为对应的host和端口
smtp.163.com:25
smtp.qq.com:465
report.conf:包含测试报告文件配置信息,如下
runmodeconfig.conf:包含运行模式配置信息
runmodeconfig.py:日志配置类
b) globalpkg
log.py:实现日志打印类
mydb.py:实现数据库类,封装数据库相关操作
mytestlink.py:主要用于获取testlink连接实例
othertools.py:实现其它通用功能,比如数据转换,批量创建目录等
globalpy.py:主要提供全局变量,全局实例等
c) logs及testreport
可分别用于存放日志文件,测试报告
d) interface
封装接口测试方法类
说明:可根据需要,每个接口对应一个模块,对应一个类;也可以多个接口对应一个模块,对应一个类
需要注意的是,这里添加的模块及类,需要在casestep.py中导入
目前框架中的模块给出了一些案例,如下:
对应用例配置:
更多案例烦自行查阅模块
e) 其它模块
如下,顾名思义
为了批量设置接口ip,端口(主要是这两个),协议信息(仅用于展示),需要对项目,计划,套件等必要的配置,以及客户端环境变量配置
a) 配置
如下,登陆Testlink,进入用户管理-查看用户,如下
点击目标用户(例中为admin),打开如下界面
点击生成新的密钥,如下
在运行python脚本端进行环境变量的配置,如下:
1、新建系统环境变量“TESTLINK_API_PYTHON_DEVKEY”,变量值为上述秘钥
2、新建“TESTLINK_API_PYTHON_SERVER_URL”系统环境变量,变量值为“
http://{host}/testlink/lib/api/xmlrpc/v1/xmlrpc.php”,其中host为testlink的访问地址
测试是否生效:
C:\Users\laiyu>python
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import testlink
>>> tls = testlink.TestLinkHelper().connect(testlink.TestlinkAPIClient)
>>> tls.testLinkVersion()
'1.9.14'
项目,计划,套件等相关配置
b) 用例管理
见源码附件
下载地址:http://pan.baidu.com/s/1c2Av9FM
下载后解压,用pycharm导入项目即可
时间有限,精力有限,暂且就到这吧,有需要的可以自己扩展、修改框架。
注:目前还存在个bug,测试报告中,类似xml格式数据没显示出来,有兴趣的烦先自己解决下。