前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台代码实现44:发送请求-1

接口测试平台代码实现44:发送请求-1

作者头像
我去热饭
发布2022-05-19 08:59:47
2860
发布2022-05-19 08:59:47
举报
文章被收录于专栏:测试开发干货

终于开始了正式写到发送请求的模块了。

本节结尾会放上最新的项目代码 网盘地址

我们首先打开我们上次没写完的api_send后台函数:

我们梳理一下思路: 现在我们已经拿到了接口的所有请求数据。已经完全可以进行一次请求了。

但是因为编码格式的不同,请求的代码也稍微有些不同。

所以这里的请求我们要用if来逐个判断编码格式

(ps:在之后的章节我们会加入很多功能,全局host/header/加密算法/登陆态/全局变量/预置变量/文件上传/证书/代理/等等很多很多,基本都要在这个函数中进行处理。大家也不要总问什么时候才能结束了,一个平台可不是一个简单的脚本/或一个小功能,它基本不会有结束的时候,而会一直的迭代更新优化下去。当然什么时候可以用起来呢?全看你的需求是什么了。最简单的管理项目和接口并能发出请求调试保存的基础功能,那么很快就可以完工投入使用了。注意目前第一阶段的各种编码格式调用并不是最完善的,只是最简单能达到效果的调用方法,后期章节会逐渐完善。)

首先在views.py文件开头导入requests模块:

注意,header应该是json格式,但是我们从前端拿到的是字符串,所以我们要在最开始获取的时候直接把header从字符串转变为字典。

然后我们还要处理好完整的url,也就是host + url。而且要处理好使用者常犯的错误:

拼接时容易出现俩个/

如下所示:

正确的 :

host = 'http://www.xxx.com 注意结尾没有/

url = '/abc/def' 注意开头有/

拼接后 : http://www.xxx.com/abc/def

常出现的错误:

host = 'http://www.xxx.com/ 注意结尾有/

url = '/abc/def' 注意开头有/

拼接后 : http://www.xxx.com//abc/def 拼接处出现重复的/

host = 'http://www.xxx.com 注意结尾没有/

url = 'abc/def' 注意开头没有/

拼接后 : http://www.xxx.comabc/def 拼接处出没有/

所以我们要简单的处理一下再拼接:

url就是我们最后得到的完整url,后续发送请求全直接使用url

然后我们先写一个最简单的 当编码方式为 none时的情况:

其中的请求方式,get还是post这种,都是直接传入大写字符串即可如:'GET' 'POST' , 所以我们传入的就是ts_method.upper()

然后我们去写form-data:

其中的fiels是文件流,我们后续会对其进行补充,暂时就先忽略这个功能。

paylaod是一个字典,把我们的字符串格式的二元列表转变成字符串。

然后我们去写x-www-form-urlencoded:

注意需要修改了请求头header中的content-type

然后我们去写raw的五个小弟弟:

这五个的请求代码基本一致,只有请求头的参数不同。所以我们简便写一下:

注意这里是else开头了。

当我们全部写完后,发现,肯定会声明一个response变量,这就是接口这次请求的引用,我们可以从它身上拿到我们想要的一切,如返回体,http状态码,响应时间等等。

我们把这个返回体获取到然后返回给前端即可(删掉上节写死的返回体)

好了。简单看看有没有报错:

我随便输入的host和url,返回体是404找不到这个页面,目前看来是没有报错,证明我们的链路都打通了。

但是这不代表这可以直接使用了,因为很多很多异常处理我们都没有做,正常使用中体验会很差。所以下节课我们会针对各种异常情况作出处理,比如没写host啊,超时啊,使用者不知道现在是否请求中等等。

最后不管你有什么bug,不管什么细节写不出来。

都可以直接下载源码,对照还是覆盖全凭你了。

(之后最新的代码包只会实时放在这个接口测试平台系列这个目录里。大家可以任意时间去下载,不用在辛苦的找正文里的链接了)

接口测试平台系列

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档