灌水 最近在整理 git 仓库,发现了个遗弃很久很久的接口自动化项目

底层贫困人员 · 2021年09月23日 · 最后由 Jay_ 回复于 2021年09月27日 · 3205 次阅读

聊聊

最近在整理 git 仓库,发现了个遗弃很久很久的接口自动化项目(近 3 年了。。。),这是我在 N 前东家做的接口自动化,现在看回以前的介绍,想法挺多的,傻不拉几的,emmmm。。。放上来给你们看看吧

接口自动化大概思路:
a-发送请求。。。b-返回结果。。。c-验证结果。。。
httpclient来发送不同类型的请求给到待测的接口,如GET, POST, PUT, DELETE,
带上你的请求头header和请求体body,然后通过http请求返回的数据,与期望值做比较,从而判断用例成功还是失败。
a-发送请求:
http接口,需要调用http请求的库(request),进行二次封装,用来发送各种请求的类,发送请求之前需要准备测试用例,测试用例
包含url,data,请求方式,body,返回结果,测试结果,期望值。测试用例用的是excel进行维护,这时候就需要openpyxl,进行二次封装
调用,对excel表格进行读写。

维护测试用例
接口本质就是增删改查,优先做查的接口,增删改也差不多业务流程的。
查接口:你可以统一放在同一个excel表格,日常不需要怎么维护,你也可以写死在代码里面,具体看你怎么做,怎么方便怎么来。
增删改接口:需要人工维护,主要维护body,请求体替换数据统一用$key,替换的值value你可以从数据库那边查出来,也可以查接口那边获取下来。
参数化,遍历替换body
#查接口产生,或者数据库查询
value_list=['fangjunjie','ceshibu','18']
#人工维护
key_list=['name','department','age']
#替换的body
str="{'name':'$name','department':'$department','age':'$age'}"
for i in range(len(key_list)):
    str=str.replace('$'+key_list[i],value_list[i])
print(str)

b-返回结果
将返回数据和测试结果回写到excel表格里,输出html报告

c-验证结果
验证结果思路大概有以下几种:
{
    "status":200,

    "message":"OK",

    "data":"a7f58c47-92ca-4d3a-904c-8e08a36afef5"

}
V1.0
01,初期搭建好自动化框架,底层封装一些工具的方法,断言使用status和message进行维护,到时候维护的时候,根据接口文档设计接口用例,
不同的status和message都要设计好,利用Jenkins进行定时构建,发送html报告。

V1.1 
对底层的一些方法进行优化,代码里集成发送邮件,将测试报告发到对应的人上,也可以将测试结果发送到钉钉上对应的人,V1.1版本需要优化一下断言和持续时间,
断言的话加上json检验,可以将上一次json数据与这次接口请求的json进行遍历校验,主要校验json里key的value值是否为null,key值是否多了还是少了?持续时间主要是
查接口和一些增删改接口,简单来说就是主业务的接口,时间还是258定理。
{
    "status":200,

    "message":"OK",

    "age":18,
    "data":"a7f58c47-92ca-4d3a-904c-8e08a36afef5"

}

{
    "status":200,

    "message":"OK",

    "data":""

}

V1.2
接口自动化-平台化,设计存放用例的表,测试结果表,json数据表等等。。。
测试用例直接用数据库进行存放,到时候维护的时候,直接维护数据库,这样子会方便很多,记得一开始的表结构要设置得比较好,要往平台化的方向进行想象。

V1.3
接口自动化平台的搭建,集成定时构建,一键发送请求,生成测试报告,发送测试报告。又是01的过程。

待续。。。

有兴趣可以看看,项目地址:https://github.com/JokerChat/AutoTest

共收到 1 条回复 时间 点赞

确实有点!

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