Python requests接口测试实现代码
1、get方法请求接口
url:显而易见,就是接口的地址url啦
headers:请求头,例如:content-type=application/x-www-form-urlencoded
params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。
举个例子:
importrequests url="http://api.shein.com/login" header={"content-type":"application/x-www-form-urlencoded"} param={"user_id":123456,"email":"123456@163.com"} timeout=0.5 response=requests.get(url,headers=header,params=param,timeout=timeout) #response=requests.request("get",url,headers=header,params=body,timeout=timeout) print(response.text)
2、post方法请求接口
importrequests url="http://api.shein.com/login" header={"content-type":"application/x-www-form-urlencoded"} param={"user_id":123456,"email":"123456@163.com"} timeout=0.5 response=requests.post(url,headers=header,data=param,timeout=timeout) #response=requests.request("post",url,headers=header,data=param,timeout=timeout) print(response.text)
importrequests url="https://apipc.xinqgj.com/user/login" payload={"phone":"17779828887","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8Uznj"} headers={'Content-Type':'application/json'} response=requests.request("POST",url,headers=headers,json=payload) print(response.text)
3、requests.Session()请求接口
importrequests session=requests.Session()#定义全局session,通过session保持会话 classCms(): deflogin(self): url="http://192.168.1.110:8080/cms/manage/loginJump.do" header={"Content-Type":"application/x-www-form-urlencoded"} parmas={"userAccount":"admin","loginPwd":"123456"} #通过全局session请求接口 res=session.post(url=url,headers=header,data=parmas) print(res.json()) defqueryUserList(self): url="http://192.168.1.110:8080/cms/manage/queryUserList.do" header={"Content-Type":"application/x-www-form-urlencoded"} parmas={"startCreateDate":"", "endCreateDate":"", "searchValue":"", "page":"1"} #通过全局session请求接口 res=session.post(url=url,headers=header,data=parmas) print(res.json()) if__name__=='__main__': Cms().login() Cms().queryUserList()
注意:Pythonrequests模块params、data、json的区别
- requests模块发送请求有data、json、params三种携带参数的方法。
- params在get请求中使用,data、json在post请求中使用
- 常见的form表单可以直接使用data参数进行报文提交,data的对象则是python中的字典类型
- 如果数据是json格式的参数,可直接使用json参数进行报文提交
4、接口的返回值操作
text:获取接口返回值的文本格式
json():获取接口返回值的json()格式
status_code:返回状态码(成功为:200)
headers:返回完整的响应头信息(headers['name']:返回指定的headers内容)
encoding:返回字符编码格式
url:返回接口的完整url地址
importrequests url="https://xxxx.com/user/login" payload={"phone":"1777982xxxx","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8UznjaGsQ5A/nKPSH1NZW"} headers={'Content-Type':'application/json'} response=requests.request("POST",url,headers=headers,json=payload) print(response.text) print(response.json()) print(response.status_code) print(response.url) print(response.headers) print(response.encoding)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。