续上文,启动成功后,按照使用手册,开始用抓包工具捕捉接口
在浏览器中直接输入:
http://127.0.0.1:5000/api/get-token
http://127.0.0.1:5000/api/users/1000
是无法正确执行成功的,我只有打开api_server.py源文件查看接口是怎么写的,
在目录:HttpRunner\tests\api中找到接口文档,查看接口信息,才知道,headers和Body中都需要添加内容,并不能通过浏览器操作就可以直接抓包,所以后来通过在postman中配好接口,执行成功后,用抓包工具捕捉的postman发出的请求。
http://127.0.0.1:5000/api/get-token头文件中添加信息如下:
Headers:
Content-Type:application/json
app_version:2.8.6
os_platform:ios
user_agent:iOS/10.3
device_sn:FwgRiO7CNA50DSU
但是在Body中,还需要sign的值,这个值是通过头文件中后四个参数计算得来,于是我改了api_server.py中的一行代码,让其打印出了这个值。
代码中修改的地方:
下图为打印出的sign信息:
下图中将打印出的sign信息复制到Body中,发送请求执行成功!
这样操作一番后请求http://127.0.0.1:5000/api/get-token执行成功。
对于http://127.0.0.1:5000/api/users/1000,按如下方式配请求头:
Body部分内容:
在Charles抓包工具中,捕捉postman发送的这两个请求,并导出为.har格式,将手册中的测试准备这一环节的算是搞定了。
如果使用的是fiddler工具抓包,在保存文件时选择文件格式为:HTTPArchive v1.2
保存成.har后,可以执行格式转换了,我选择的转换为.yml格式:
har2case D:\httprunner\demo-quickstart.har -2y
输出的文件路径也有给出,可以使用了。