接口测试中遇到的sessionID验证问题

在接口测试中,经常会存在联调的接口,比如登录完去调用其他的接口,这时就会存在一个问题,那就是登录成功了,但是其他接口失败了,这个时候就需要用到一个sessionID去传入其他接口验证合法性请求,这样才能让其他接口请求成功。

用postman去调用登录接口,可以看到在Cookies里面有一个JESSIONID

接着调用更新用户信息接口

可以看到Cookies里面有一个JESSIONID

# 对更新用户信息的脚本进行测试,使用unittest框架技术
# 接口说明:
# 接口访问地址:   http://localhost:8080/jwshoplogin/user/update_information.do
# 接口传入参数:1、email: 2、phone:3、answer: 4、question:
# 接口预期返回结果:
# 1、email已存在, 请更换email再尝试更新 2、更新个人信息成功  3、更新个人信息失败"
#*****************************************************************************
# 脚本实现:
# 导入相关类库
import unittest
import requests

# 定义测试类,继承unittest框架
class test_updateuser(unittest.TestCase):
    # 通过setup方法实现登录接口的调用
    def setUp(self):
        url="http://localhost:8080/jwshoplogin/user/login.do"
        userinfo={"username":"张海",
                  "password":"123456"}

        response=requests.post(url,data=userinfo)
        self.sessionID=dict(response.cookies)['JSESSIONID']
        print(self.sessionID)

    # V1.0版本,传入一组固定的测试数据,进行接口测试
    def test_case1(self):
        # 传入指定的接口测试数据
        url="http://localhost:8080/jwshoplogin/user/update_information.do"
        userinfo={"email":"123456@qq.com",
                  "phone":"13311095555",
                  "question": "苹果",
                  "answer":"最喜欢的水果"
        }
        session={"JSESSIONID":self.sessionID}
        # 进行接口调用
        response=requests.post(url,data=userinfo,cookies=session).text
        print(response)
        self.assertIn("更新个人信息成功",response)

if __name__ == '__main__':
    unittest.main()

这里面用到两个关键的语句,首先从字典里面取到JSESSIONID

        self.sessionID=dict(response.cookies)['JSESSIONID']
        print(self.sessionID)

执行结果

3BF0D3363CFCC23351CA9B1DE95AE5FB

接着下一个请求调用

        session={"JSESSIONID":self.sessionID}
        # 进行接口调用
        response=requests.post(url,data=userinfo,cookies=session).text
        print(response)

执行结果:
{"status":0,"msg":"更新个人信息成功","data":{"id":25,"username":"张海","password":null,"email":"123456@qq.com","phone":"13311095555","question":"苹果","answer":"最喜欢的水果","role":null,"createTime":null,"updateTime":null}}

返回结果成功。
 

愿每个测试都能顺利转为测试开发,提高职业技能,成为前1%的存在,为社会创造更大的价值,为公司节约更多的成本,为自己和家庭谋求更高的收入,所有人不受职业年龄限制,越老越吃香,直至财富自由;愿测试技术越来越进步,软件质量进一步得到提高,效率提高。愿祖国更加美好,人民更加幸福。多喜乐,常安宁。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值