接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架
Posted 自动化测试馆长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架相关的知识,希望对你有一定的参考价值。
1、 开发环境
win7
PyCharm 4.0.5
python 3.3.2
testlink-1.9.14
下载地址:
安装教程:
TestLink-API-Python-client-master
下载地址:
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) 用例管理
见源码附件
下载地址:
下载后解压,用pycharm导入项目即可
时间有限,精力有限,暂且就到这吧,有需要的可以自己扩展、修改框架。
注:目前还存在个bug,测试报告中,类似xml格式数据没显示出来,有兴趣的烦先自己解决下。
最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
以上是关于接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架的主要内容,如果未能解决你的问题,请参考以下文章