接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架
基于python+Testlink+Jenkins实现的接口自动化测试框架
by:授客 QQ:1033553122
博客:http://blog.sina.com.cn/ishouke
欢迎加入软件性能测试交流QQ群:7156436
目录
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格式数据没显示出来,有兴趣的烦先自己解决下。
作者:授客
微信/QQ:1033553122
全国软件测试QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
微信打赏
支付宝打赏 全国软件测试交流QQ群
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库