这是我参与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的标志。
接口测试平台的写入思路:直接用现有的平台开发一个接口进行写入就好。接口洗数据,可以参照上面的。入库的时候,需要匹配的,具体的逻辑呢,可以参照本公司的项目去执行,这里入库,最好打上录制进来的标志,因为后续可能会对用例进行修改矫正的。
写入完毕后,可以对所有已经写入的用例进行回放,或者运行查看。
这里大概写了这部分的思路。具体问题还要具体分析。只是给大家抛钻引玉一下。