接口自动化(二):接口联调

接口联调

今天写一下存在关系的接口,怎么调用上一个接口返回来的东西,以注册、登录,忘记密码、修改密码为例,其中修改密码会用到上一个接口的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":"[email protected]",
                  "phone":"13578901541",
                  "question":"我爱你",
                  "answer":"好的"
        }
        response=requests.post(url,data=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=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=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=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=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
,该段代码可升级整合,未完待续
欢迎大家多多留言!

你可能感兴趣的:(接口自动化测试,python,接口)