接口自动化--登录(form)

以web端为例,登录请求:

请求的url

 传参

 响应

 那在接口自动化中需要涉及以上数据:①请求的url ②请求时要传的参数 ③请求成功后的响应数据

1.请求url

class Login:
    def do_login(self,indata):
        url = 'https://XXXX/api/blade-auth/oauth/token'

也可以在configs包下创建一个文件:config.py

HOST='https://XXXX'

这样就在登录和其他结果引用HOST

from configs.config import HOST
import requests
class Login:
    def do_login(self,indata):
        url=f'{HOST}/api/blade-auth/oauth/token'

2.传参

参数有:tenantId,username,password,grant_type,scope,type,loginType

class Login:
    def do_login(self,indata):
		url=f'{HOST}/api/blade-auth/oauth/token'
        resp=requests.post(url,data=indata)
        print(resp.text)
if __name__=='__main__':
    Login().do_login({'tenantId':'000000','username':'admin','password':'XXXXX','grant_type':'password',
                      'scope':'all','type':'account','loginType':'1'})

3.响应

执行代码:

{"code":500,"success":false,"data":{},"msg":"Missing request header 'Dept-Id' for method parameter of type String"}

响应中报缺少Dept-Id,f12找到该参数

 加到代码中

header={
            'Dept-Id':''
        }
        resp=requests.post(url,headers=header,data=indata)

执行代码:

{"code":500,"success":false,"data":{},"msg":"Missing request header 'Role-Id' for method parameter of type String"}

响应中报缺少Role-Id,同样的方法f12找到该参数,并加到代码中

 执行代码:

{"code":401,"success":false,"data":{},"msg":"no client information in request header"}

该报错的意思是认证异常,请求需要加上Authorization Header,f12找到该参数,并加到代码中

 执行代码:

 响应与手动执行登录操作一致,代表请求成功。

完整代码:

from configs.config import HOST
import requests
class Login:
    def do_login(self,indata):
        url=f'{HOST}/api/blade-auth/oauth/token'
        header={
            'Dept-Id':'',
            'Role-Id':'',
            'Authorization':'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
        }
        resp=requests.post(url,headers=header,data=indata)
        print(resp.text)
        print(resp.status_code)
        print("========测试用例1=============")

if __name__=='__main__':
    Login().do_login({'tenantId':'000000','username':'admin','password':'XXXX','grant_type':'password',
                      'scope':'all','type':'account','loginType':'1'})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值