接口自动化测试|接口自动化(二)(接口联调)

接口联调 今天写一下存在关系的接口,怎么调用上一个接口返回来的东西,以注册、登录,忘记密码、修改密码为例,其中修改密码会用到上一个接口的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
,该段代码可升级整合,未完待续
欢迎大家多多留言!

    推荐阅读