一键将接口请求转为测试用例(续)

306 阅读3分钟

这是我参与8月更文挑战的第17天,活动详情查看:8月更文挑战 

承接上篇,前面的都已经实现完毕,前端会发送请求给后台,如果出现跨站请求的失败,需要处理,在tools下web有个app.py,找到Application,在__init__方法 关闭掉跨站请求就可以。

xsrf_cookies=False

解决完这个问题,,后台呢,就能接受到数据了。接受到数据,现在的是id 方式等参数,可以直接部分进行转换,但是,如果想要真正的去拿到这个id的数据呢。

        方法一:录制的时候直接将数据存入到redis里面一份。

        方法二:调用mitmproxy api直接通过id去获取对应的数据。

        方法一:需要单独写一个文件 去存这种文件,自己存放到redis里面一份,具体实现可以在百度上搜索,搜索mitmproxy保存到本地即可,方法二呢,需要查找api,这两种方式都可以,可以自己去选择。所有的api都在Application里面,需要的可以去找。里面平台能用的api都能找到。 如果不知道怎么获取api,你可以在前端,用Chrome 的F12 开发者,看请求,每个选择的的接口请求,都会发请求的,那个api就是要用的api。 注意:这里的api请求的参数放到内存中,不能永久保留。

     拿到这些数据后,后台获取到这些数据了,当然了,这里不能直接入库,需要对参数进行清洗。这里我提供下思路。

        1.写入 框架。

        2.直接写入平台的。

        框架的思路: 框架没有单独的对外接口,python的可以用flask直接开启一个接口接受。接口拿到请求,去处理这个请求。当你获取到这个想要录制的接口的数据的时候,要url 参数,请求方式,出参进行必要的优化的。url一般可以直接对应的获取到测试环境,api的路径。请求参数呢,可以直接使用,请求方式也可以直接使用。关于出参,这里呢建议对出参的必要字段按照一定规矩切割后,可以作为断言使用,部分参数可以处理成包含不包含的断言。这样处理完毕,讲整体的数据直接入到你所用的框架管理case的地方。如果case需要编号或者名称这里可以给随机一个,但是要打上录制产生case的标志。

        接口测试平台的写入思路:直接用现有的平台开发一个接口进行写入就好。接口洗数据,可以参照上面的。入库的时候,需要匹配的,具体的逻辑呢,可以参照本公司的项目去执行,这里入库,最好打上录制进来的标志,因为后续可能会对用例进行修改矫正的。

        写入完毕后,可以对所有已经写入的用例进行回放,或者运行查看。

        这里大概写了这部分的思路。具体问题还要具体分析。只是给大家抛钻引玉一下。