接口联调 今天写一下存在关系的接口,怎么调用上一个接口返回来的东西,以注册、登录,忘记密码、修改密码为例,其中修改密码会用到上一个接口的token,直接上代码 (都是上期的代码,重复的我就不解释了,没解释过的我会加到注释中):
#!/usr/bin/env python
# -*-conding:utf-8 -*-
import requests
class workflow_forgotpassword_test():
#用户注册接口
def yhzc_test(self):
url="http://localhost:8080/jwshoplogin/user/register.do"
userinfo={}
userinfo={"username":"小兵3",
"password":"Aa111111",
"email":"sadasd14@qq.com",
"phone":"13578901541",
"question":"我爱你",
"answer":"好的"
}
response=requests.post(url,data=https://www.it610.com/article/userinfo).text
r=response.find("注册成功")
if r>0:
print("用户注册成功")
else:
print("注册失败")
#用户登录接口
def yhdl_test(self):
url="http://localhost:8080/jwshoplogin/user/login.do"
userinfo={}
userinfo={"username":"小兵3",
"password":"Aa111111"
}
response=requests.post(url,data=https://www.it610.com/article/userinfo).text
r=response.find("登录成功")
if r>0:
print("用户登录成功")
else:
print("登录失败")
#忘记密码接口
def wjmi_test(self):
url="http://localhost:8080/jwshoplogin/user/forget_get_question.do"
userinfo={}
userinfo={"username":"小兵2",
}
response=requests.post(url,data=https://www.it610.com/article/userinfo).text
r=response.find("我爱你")
if r>0:
print("忘记密码接口成功")
else:
print("忘记密码接口失败")
#提交密保问题答案接口
def tjmbwtda_test(self):
url="http://localhost:8080/jwshoplogin/user/forget_check_answer.do"
userinfo={}
userinfo={"username":"小兵2",
"question": "我爱你",
"answer": "好的"
}
response=requests.post(url,data=https://www.it610.com/article/userinfo).text
#定义一个字典
dict={}
#将response文本格式转换成字典类型
dict=eval(response)
#data的值拿到给token
token=dict["data"]
print(token)
r=response.find("data")
if r>0:
print("提交密保成功")
else:
print("提交密码失败")
#该方法的结果就是得到token
return token
#回答问题后修改密码接口
def hdwthxgmm_test(self,token):
url="http://localhost:8080/jwshoplogin/user/forget_reset_password.do"
userinfo={}
userinfo={"username":"小兵3",
"passwordNew":"111111",
"forgetToken":token
}
response=requests.post(url,data=https://www.it610.com/article/userinfo).text
r=response.find("修改密码成功")
if r>0:
print("提交token接口成功")
else:
print("提交token接口失败")
#方法调用
if __name__ == '__main__':
registerobj=workflow_forgotpassword_test()
registerobj.yhzc_test()
registerobj.yhdl_test()
registerobj.wjmi_test()
token=registerobj.tjmbwtda_test()
registerobj.hdwthxgmm_test(token)
registerobj.yhdl_test()
【接口自动化测试|接口自动化(二)(接口联调)】接下来给大家看下token样子
文章图片
代码虽然很长,但不是一气呵成的写完的,要一步一步的调试,建议写完一个接口,就调用一下,看看是不是成功的,然后整合到一起运行!
最后附赠个知识点:token session cookie区别
token:简单来说,它相当于一个身份令牌,一般在登录成功后,会响应回来token,当你访问系统其它功能时,你必须带着你的令牌,系统才会让你使用
session:会话,代表服务器与浏览器的一次会话过程。
cookie:储存在用户本地终端上的数据,就类似于,我们在web上访问某个系统,第一次登录之后,第二次就不用登录了,可以直接点击该系统 登录的用户就是你上次登录的用户。
知乎上有篇详细的文章可以看下他们三个的关系,链接:https://www.zhihu.com/question/353373715/answer/878707077
,该段代码可升级整合,未完待续
欢迎大家多多留言!
推荐阅读
- 分享3 个Python冷知识
- 10个你必须知道的Python内置函数
- pytorch|PyTorch 框架学习 更新中...
- 机器学习之python学习|时间序列框架-Darts-用户指南(中)
- 深度学习|Pytorch实践
- java|再见Java8!Java17 终于免费了,史上最快的 JDK。
- 人工智能|再见了Java8,Java17(我要取代你)
- 目标检测|目标检测标签格式转换 Json -> txt
- Python妙用|Python转换json标签文件格式为YOLO的.txt格式