接口测试 一个基于 python3 的接口自动化测试框架

浪晋 · 2017年04月06日 · 最后由 Rachel111 回复于 2019年04月14日 · 4001 次阅读

一、为什么开发这个框架
随着公司接口的增多,开发一边开发,测试一边测试,导致了接口的不稳定。为了去验证接口是否正常,耗费了越来越多的人力,而且大量的都是重复的工作。
为了减轻测试的压力,所以开发了这个轻量级的接口自动化测试框架。
二、自动化测试框架介绍。
a) 基于 python 脚本编写,不需要借助其他工具,环境配置简单。
b) 采用数据驱动测试的方式,后期仅仅只需要维护一个测试数据的 EXCLE 表格。
c) 测试用例可以分模块编写,方便对用例的管理维护。
d) 测试用例和测试执行分离,实现执行测试时用例可以任意配置。
e) 实现多线程执行,可以同时运行多个测试集。
f) 测试结束后直接生成 EXCLE 报告,统计测试执行情况,执行情况详细,能够快速定位问题,并且容易扩展优化。
三、框架流程说明

图用 word 画,相当丑。
1、测试数据
在 testdata.xls 表格中编写每一条测试用例的测试数据。
注意:目前代码版本不支持.xlsx 格式的表格。
有些同学喜欢 XML 的,也可以把这一部分给替换掉,实现上,没多大区别。

2、自动获取 token
获取初始 token,并自动写入 testdata 中。

3、自动写入 token 到测试数据中
获取到的 token 写到 testdata 中,方便其他测试用例调用,保证每次都是调用的最新的 token。

4、查询数据库获取对应的数据,同理 token,写入表格

5、编写测试用例

6、构建测试集

7、添加多线程执行

8、执行并输出测试报告。

9、测试报告


【PS.这一块的代码是网上找来改的,不是自己写的。就改了些参数传递之类的。】

四、需要的库

其中一部分需要,懒得去弄了。

五、持续集成
集成 jenkins,我还没去弄,不过不难。手动微笑。
六、一些废话
https://github.com/fenyukuang/FreeTestGo
代码自取。
值得优化的地方还有很多。
希望和大家共同进步。

共收到 30 条回复 时间 点赞
徐旻 回复

求教 Jenkins 集成

GIT 不行啊,求教怎么集成到 JENKINS 上。

匿名 #28 · 2019年04月10日

git 跪了···················

仅楼主可见
浪晋 回复

源代码地址可以重新发一次吗?原来的失效啦😂

哦对了 还有一个问题 post() 方法中可以直接使用 requests.post(url,json =dic_json) 请求 其中 dic_json 是字典 requests 库会自行将字典转化成 json 不用 dumps() 的

给了我很大的启发不过有两个地方可以优化一下 :第一个是地址你这里都是使用的绝对路径一旦更换位置就要重新改代码有一点麻烦;第二个是如果是多角色怎么办,我现在测试的系统就是多角色系统,每个角色的功能不一样

不能访问了

git 地址不能访问,求地址

地址跪了,求再给

git 地址跪了

这个 github 地址跪了

浪晋 回复

联系方式多少,qq

浪晋 #17 · 2017年04月12日 Author
回复

主要是改 testcass 里的内容。
毕竟需要根据你测试的接口来写。
你可以去把代码拉下来,然后照着建一个项目。
注释我写的还是比较清楚的,不清楚的,你可以加我。

浪晋 回复

我想跑起来,需要改哪些呢

浪晋 #15 · 2017年04月07日 Author

哈哈哈,缘分啊。
我还在修改,今天把结构目录之类的调整了。
重新封装了两个方法。

这个框架跟我有点像,哈哈

浪晋 回复

还是挺简单的。 不过要用 pytest 测试框架 , 不过 pytest 的测试框架 兼容 unittest 的。所以我觉得还是很简单的。

浪晋 #12 · 2017年04月07日 Author
e4rljia 回复

共同进步。

浪晋 #11 · 2017年04月07日 Author
徐旻 回复

看了下,感觉确实很漂亮的样子,研究下,看能不能集成过来。😅

厉害了,少年~学习下~

测试报告可以用 @ycwdaaaa 介绍的 allure 正好在 jenkins 中有插件。

剪烛 回复

😅 😅 😅
下不为例,认真学习格式排版。

先马后看,另外,少年注意格式

淳罡 回复

😬 第一次发帖,对排版不熟练。见谅

你这个缩进,看着好难受。。。。😂

kanchi240 回复

哈哈哈,是有这个问题。
还在想办法把更多公共的东西单独的封装出来。

Unmurphy 回复

测试报告那一块不是自己写的,网上找到的,觉得好看,就拿来用了。
主要就修改了把测试的结果传过去。
来源:http://www.jianshu.com/p/6c5d328bf390

如果接口参数有几十个怎么弄,excel 不搞死了

这个 excel report 怎么感觉好像看过

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册