前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台代码实现153:加密算法继续实现

接口测试平台代码实现153:加密算法继续实现

作者头像
我去热饭
发布2022-05-19 10:17:16
1590
发布2022-05-19 10:17:16
举报
文章被收录于专栏:测试开发干货

本节我们要真正的实现这个加密函数:

为了便于调试,我们先给普通接口调试函数 加入对它的调用:

(注意调用位置一定要放到 替换全局变量的后面!最好是在真正发送请求代码部分之前紧贴!)

如上图,这个函数最终会返回带了加密验签字段的url和body

然后,我们要耐心的做一个接口 用来调试用!

首先来看我们写的调试用的加密表达式:

注意,其中的time,我们会先检测是在url和body中存在这个字段,如果不存在,我们则用10位时间戳来表示,这个规则我们应该在一开始告知使用者,所以可以在说明文案中加入这一句:

然后是具体的接口:

注意,这个验签加密表达式一共需要三个变量,

token我放在了url里,userId我放在了body中,

然后开始正式写这个函数:

我们找到这个函数:views.py中

确认下要做的事:

  1. 用project_id 拿出 加密插入位置 和 加密表达式
  2. 根据加密表达式从url和body中拿出 需要用到的参数
  3. 组装成完整加密表达式并执行,生成加密字段key/value
  4. 根据加密插入位置 放到url或body中
  5. 返回加入后的url和body

第一步代码:

第二步代码:

我们先提取一下 表达式的key 和 字段,看看是否成功:

结果如下,不用管报错先,因为还没写完

可以看到 提取的很顺利

然后我们要从给的url和body中依次拿出这些变量,注意,如果提取失败就要先检测下,是不是time的,若是则启动预置时间函数。

(注意,这里我们之后可能会新增一些其他预置变量,所以大家注意下这里,以后可以根据需要扩充,不止有time一个预置变量哦~)

我们现在来思考一个问题,如何从url 中提取我们要的参数?

思路1: 给url用split解析,找出所有的key=value,然后直接取出来。

思路2:直接用正则,左边界是变量= ,右边界是&或结尾。

显然,从效率上来说,思路2明显要快n倍。因为这个函数是一个很底层的函数,我们必须保证它的执行速度,所以我们先尝试用思路2 解决!

注意这个正则写法,不要写错了哦~ 正则还不会用的小伙伴建议报名我的课程哦~

看看结果:

可以看到,成功取出来了这个数据。

好,本节课就到这里了。下节课继续吧.

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

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

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

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

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