6.17___接口测试之python+request(8)
2022/6/18 5:22:18
本文主要是介绍6.17___接口测试之python+request(8),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、什么是requests ?
requests是用python语言编写的简单易用的http库,用来做接口测试的库。
二、安装request库
1、在dos下输入pip install requests
2、在pycharm中seting中下载
3.查看是否安装
=====================================
查看方法:
=====================================
组建接口三种方式:
1、第一种
(1)requests.post
dx=requests.post( url =url ,data=date, json=json)di
案例:
import requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do" date1={'userAccount':'admin','loginPwd':'123456'} h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.post(url=url1,data=date1,json=h1) print(dx.text) #以文本的形式显示响应码 print(dx.headers)#请求头 print(dx.cookies)#cookies值 print(dx.url)#接口路径 print(dx.status_code)#状态码 #200 print(dx.request) #请求方式 (2)requests.get 案例;
import requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456" h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.get(url=url1,params=h1) print(dx.text) #以文本的形式显示响应码 print(dx.headers)#请求头 print(dx.cookies)#cookies值 print(dx.url)#接口路径 print(dx.status_code)#状态码 #200 print(dx.request) #请求 第二种方法:
requests.request
(1)post请求
requests.request("post",url=url1,data=date1,json=h1) 案例:
import requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do" date1={'userAccount':'admin','loginPwd':'123456'} h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.request("post",url=url1,data=date1,json=h1) print(dx.text) #以文本的形式显示响应码 print(dx.headers)#请求头 print(dx.cookies)#cookies值 print(dx.url)#接口路径 print(dx.status_code)#状态码 #200 print(dx.request) #请求方式 (2)get请求
mport requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456" h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.request("get",url=url1,params=h1) print(dx.text) #以文本的形式显示响应码 print(dx.headers)#请求头 print(dx.cookies)#cookies值 print(dx.url)#接口路径 print(dx.status_code)#状态码 #200 print(dx.request) #请求方式 第三种调用接口的方法: 使用session可以解决接口依赖关系 备注:如果没有依赖,就显示html页面格式 案例:
import requests s=requests.session()#创建一个s对象来保持上下接口的关联 class Cms(object): def __init__(self): pass def dl(self): url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456" h1={"Content-Type":"application/x-www-form-urlencoded"} dx=s.get(url=url1,params=h1) print(dx.text) # 以文本的形式显示响应码 print(dx.headers) # 请求头 print(dx.cookies) # cookies值 print(dx.url) # 接口路径 print(dx.status_code) # 状态码 #200 print(dx.request) # 请求方式 def lmyh(self): url1 = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do?parentId=&categoryName=&page=1" h1 = {"Content-Type": "application/x-www-form-urlencoded"} dx = s.get(url=url1, params=h1) print(dx.text) # 以文本的形式显示响应码 print(dx.headers) # 请求头 print(dx.cookies) # cookies值 print(dx.url) # 接口路径 print(dx.status_code) # 状态码 #200 print(dx.request) # 请求方式 if __name__ == '__main__': c=Cms() c.dl() c.lmyh()
====================================== 依赖关系:通过cookies保持会话关系 案例:
import requests class Cms(object): def __init__(self): pass def dl(self): url1="http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456" h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.get(url=url1,params=h1) print(dx.cookies) # cookies值 #<RequestsCookieJar[<Cookie JSESSIONID=BCAF009876267A5851EBA4DF9A47BA19 for cms.duoceshi.cn/cms>]> self.c=str(dx.cookies).split(" ")[1] print(self.c) print(dx.text) def lmyh(self): url1 = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do?parentId=&categoryName=&page=1" h1 = {"Content-Type": "application/x-www-form-urlencoded" ,'Cookie':self.c} dx = requests.get(url=url1,headers=h1) print(dx.text) # 以文本的形式显示响应码 print(dx.headers) # 请求头 print(dx.cookies) # cookies值 print(dx.url) # 接口路径 print(dx.status_code) # 状态码 #200 print(dx.request) # 请求方式 if __name__ == '__main__': c=Cms() c.dl() c.lmyh()
============================================== 断言: (1)if 语句
import requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do" date1={'userAccount':'admin','loginPwd':'123456'} h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.post(url=url1,data=date1,json=h1) print(dx.text) #以文本的形式显示响应码 js=dx.json() print(js) if js["msg"]=="登录成功": print("ok") else: print("no") (2)
assert 断言
import requests url1="http://cms.duoceshi.cn/cms/manage/loginJump.do" date1={'userAccount':'admin','loginPwd':'123456'} h1={"Content-Type":"application/x-www-form-urlencoded"} dx=requests.post(url=url1,data=date1,json=h1) print(dx.text) #以文本的形式显示响应码 js=dx.json() print(js) assert js["msg"]=="登录成功!"
这篇关于6.17___接口测试之python+request(8)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享