如何编写Python代码实现requests接口的测试功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计801个文字,预计阅读时间需要4分钟。
1. 使用 `get` 方法请求接口 - URL:显然易见,即接口的地址 - Headers:请求头,例如:`Content-Type=application/x-www-form-urlencoded` - Params:用于传递测试接口所需参数,例如:`key1=value1&key2=value2`
Python 示例代码: python import requests
url=接口地址 headers={Content-Type: application/x-www-form-urlencoded} params={key1: value1, key2: value2}
response=requests.get(url, headers=headers, params=params)
1、get方法请求接口
url:显而易见,就是接口的地址url啦
headers:请求头,例如:content-type = application/x-www-form-urlencoded
params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。
举个例子:
import requests url="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方法请求接口
import requests url="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)
import requests url = "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()请求接口
import requests session = requests.Session() #定义全局session,通过 session 保持会话 class Cms(): def login(self): url = "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()) def queryUserList(self): url = "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()
注意:Python requests模块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地址
import requests url = "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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计801个文字,预计阅读时间需要4分钟。
1. 使用 `get` 方法请求接口 - URL:显然易见,即接口的地址 - Headers:请求头,例如:`Content-Type=application/x-www-form-urlencoded` - Params:用于传递测试接口所需参数,例如:`key1=value1&key2=value2`
Python 示例代码: python import requests
url=接口地址 headers={Content-Type: application/x-www-form-urlencoded} params={key1: value1, key2: value2}
response=requests.get(url, headers=headers, params=params)
1、get方法请求接口
url:显而易见,就是接口的地址url啦
headers:请求头,例如:content-type = application/x-www-form-urlencoded
params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。
举个例子:
import requests url="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方法请求接口
import requests url="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)
import requests url = "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()请求接口
import requests session = requests.Session() #定义全局session,通过 session 保持会话 class Cms(): def login(self): url = "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()) def queryUserList(self): url = "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()
注意:Python requests模块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地址
import requests url = "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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

