pytest框架-加密接口用例设计01

2021-12-25  本文已影响0人  软件开发技术修炼

加密原理:在得到响应后对响应做解密处理

场景:

1、知道加密方式,可使用通用加密算法(base64)
2、不了解,让研发提供加解密的lib
3、1-2都不是,让加密方提供远程解析服务,这样算法仍是保密的

常用的1场景

环境准备:

1、对响应加密的接口(如果有可用的加密过的接口以及了解它的解密方法,跳过)
2、准备一个加密文件 vim demo1.txt
3、使用python命令在有加密文件的所在目录启动一个服务
python -m http.server 9999
4、访问该网站
127.0.0.1:9999

奉上代码
第一步:封装接口
import request
import json
import base64
#from base64 import b64decode

class ApiRequest:

  def send(self,data:dict):
      #data存放请求的信息
      res = requests.request(data["method"],data["url"],headers = data["headers"])
      #第一种:调用python自带base64,对返回数据进行解密
      if data["encoding"] == "base64":
          return json.loads(base64.b64decode(res.content))
      #第三种:把加密过后的响应值发给第三方服务,让第三方去做解密然后返回,按实际情况填写
      elif data["encoding"] == "private":
          return requests.post("url",data = res.content)
第二步:封装执行接口文件
from unittest import TestCase
from test_requests import test_requests1

class TestApiRequest(TestCase):
      req_data = {
        "method":"get",
        "url":"http://127.0.0.1:9999/demo1.txt"
        "headers":None,
        "encoding":"base64"
}

def test_send(self):
    ar = test_requests1.ApiRequest
    ar.send(self.req_data)
上一篇 下一篇

猜你喜欢

热点阅读