要完成用户个人信息更新接口的测试,先要调用登录接口实现用户登录,下面看看代码实现过程:
import unittest
import requests
class test_updatauser(unittest.TestCase):
#调用登录接口
def test_case1(self):
url="http://localhost:8080/jwshoplogin/user/login.do"
userinfo={"username":"小张",
"password":123456}
response=requests.post(url,data=userinfo).text
print(response)
#调用修改信息接口
def test_case2(self):
url="http://localhost:8080/jwshoplogin/user/update_information.do"
userinfo={"email":"1234@126.com",
"phone":18856565656,
"question":"我在哪",
"answer":"北京"}
response=requests.post(url,data=userinfo).text
print(response)
if __name__ == '__main__':
unittest.main()
执行结果:
执行结果显示,虽然登录接口已成功调用,但在调用修改用户信息接口时,却显示用户未登录,这是因为两个接口的数据信息尚未关联,服务器无法判断是否是这个已登录的用户需要修改用户信息,如果想要这两个接口联调,需要把登录接口获取的用户cookies信息传递给修改用户信息接口
import unittest
import requests
class test_updatauser(unittest.TestCase):
#调用登录接口
def test_case1(self):
#声明一个全局变量s(名字随意),接收cookies
global s
url="http://localhost:8080/jwshoplogin/user/login.do"
userinfo={"username":"小张",
"password":123456}
response=requests.post(url,data=userinfo)
print(response.text)
s=dict(response.cookies)
#调用修改信息接口
def test_case2(self):
url="http://localhost:8080/jwshoplogin/user/update_information.do"
userinfo={"email":"1232@126.com",
"phone":18856565656,
"question":"我在哪",
"answer":"北京"}
response=requests.post(url,data=userinfo,cookies=s)
print(response.text)
if __name__ == '__main__':
unittest.main()
代码所示:声明了一个全局变量s接收cookies并传入test_case2
输出: