python+request
一、介紹request庫
(1)requests是用python語言編寫的簡單易用的http庫,用來做介面測試的庫;
(2)介面測試自動化庫有哪些?
requests、urllib 、urllib2、urllib3、 httplib 等(最受歡迎的是requests)
(3)安裝request庫
方式一:
dos下pip:
命令:pip install requests
方法二:pycharm 中 setting下載
(4)組建一個介面需要引數?
a、請求方式
b、url
c、請求頭
d、請求引數
二、requests中的執行
1、匯入requests 模組
2、執行的三種方法:
(1)第一種方法:
a、講解post介面
requests.post(url=url,data=data,json=heardes)
import requests
url=“http://cms.duoceshi.cn/cms/manage/loginJump.do”
h={“Content-Type”:“application/x-www-form-urlencoded”}
data={‘userAccount’:‘admin’,‘loginPwd’:‘123456’}
jk=requests.post(url=url,data=data,json=h)
print(jk.text) #響應體內容
print(jk.json())#json格式內容
print(jk.cookies) # 列印介面的cookies值
print(jk.status_code) # 介面的響應狀態碼
print(jk.request) #列印介面的post請求
print(jk.url) #列印介面的url
b、get 介面
get介面
import requests
url=“http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456”
h={“Content-Type”:“application/x-www-form-urlencoded”}
jk=requests.get(url=url,json=h)
print(jk.text) #響應體內容
print(jk.json())#json格式內容
print(jk.cookies) # 列印介面的cookies值
print(jk.status_code) # 介面的響應狀態碼
print(jk.request) #列印介面的post請求
print(jk.url) #列印介面的url
(2)第二種方法
post請求方法:requests.request(“post”,url=url,data=data,json=h)
get請求方法:requests.request(“get”,url=url,params=h)
a、post請求方法
requests.request(“post”,url=url,data=data,json=h)
案例:
import requests
url=“http://cms.duoceshi.cn/cms/manage/loginJump.do”
h={“Content-Type”:“application/x-www-form-urlencoded”}
data={‘userAccount’:‘admin’,‘loginPwd’:‘123456’}
jk=requests.request(“post”,url=url,data=data,json=h)
print(jk.text) #響應體內容
print(jk.json())#json格式內容
print(jk.cookies) # 列印介面的cookies值
print(jk.status_code) # 介面的響應狀態碼
print(jk.request) #列印介面的post請求
print(jk.url) #列印介面的url
(3)第三種方法
格式:requests.Session()
登入介面
import requests
s=requests.Session() #使用session保持上下文管理,可以保持會話的狀態
url=“http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456”
h={“Content-Type”:“application/x-www-form-urlencoded”}
jk=s.get(url=url,params=h)
print(jk.text) #響應體內容
查詢欄目介面
url2=“http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do”
h={“Content-Type”:“application/x-www-form-urlencoded”}
data2={“parentId”:“”,‘categoryName’:“”,“page”:“1”}
jk2=s.post(url=url2,data=data2,json=h)
print(jk2.text)
封裝在一個類中:
import requests
s=requests.Session()
class cms(object):
def init(self):
pass
def dl(self):# 登入介面
url = “http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456”
h={“Content-Type”:“application/x-www-form-urlencoded”}
jk=s.get(url=url,params=h)
print(jk.text)
def lmcx(self):
url2 = “http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do”
h={“Content-Type”:“application/x-www-form-urlencoded”}
data2={“parentId”:“”,‘categoryName’:“”,“page”:“1”}
jk2=s.post(url=url2,data=data2,json=h)
print(jk2.text)
if name == ‘main’:
dx=cms()
dx.dl()
dx.lmcx()