1、get方法请求接口
url:显而易见,就是接口的地址url啦
headers:请求头,例如:content-type = application/x-www-form-urlencoded
params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。
举个例子:
import requests
url="http://api.s***/login"
header={
"content-type":"application/x-www-form-urlencoded"}
param={
"user_id":123456,"email":"[email protected]"}
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="http://api.***/login"
header={
"content-type":"application/x-www-form-urlencoded"}
param={
"user_id":123456,"email":"[email protected]"}
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 = "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()请求接口
import requests
session = requests.Session() #定义全局session,通过 session 保持会话
class Cms():
def login(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())
def queryUserList(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()
注意: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 = "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)
我是个自动化测试人员上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加我们的软件测试交流群,里面有各种软件测试资料和技术交流。