介绍
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求
安装request的模块
pip install requests
get请求和post请求
r.status_code 响应状态码
r.heards 响应头
r.cookies 响应cookies
r.text 响应文本
r. encoding 当前编码
r. content 以字节形式(二进制)返回
import requests
class UseRequestClass():
def requestsGetMethond(self):
url="http://apis.juhe.cn/simpleWeather/query"
cs = {"city":"北京","key":"f8ffbe604b79254173b0c1880d243664"}
r= requests.get(url = url,params = cs)
print(r.text)# 响应文本
print(r.content)#以字节形式(二进制)返回
print(r.cookies)#响应cookies
print(r.headers) # 响应头
print(r.status_code)#响应状态码
print(r.encoding) # 当前编码
# post有参的第一种方式
def requestsPostMethond(self):
# requests.get("http://v.juhe.cn/toutiao/index?type=junshi&page=&page_size=&is_filter=&key=a883bc7d713bcfa66dd6016e3d1cc913")
urlje = "http://v.juhe.cn/toutiao/index"
cs = {"type":"junshi","key":"a883bc7d713bcfa66dd6016e3d1cc913"}
rr = requests.post(url=urlje,data=cs)
print(rr.text)
use = UseRequestClass()
use.requestsPostMethond()
use.requestsGetMethond()
结果
读取csv
准备数据
url,cs,methond
http://apis.juhe.cn/simpleWeather/query,"{""city"":""北京"",""key"":""f8ffbe604b79254173b0c1880d243664""}",get
http://v.juhe.cn/toutiao/index,"{""type"":""junshi"",""key"":""a883bc7d713bcfa66dd6016e3d1cc913""}",post
读取数据
import csv #导入csv模块
class ReadCsv():
def readCsv(self):
item = [] # 定义一个空列表
rr = csv.reader(open("../data/444.csv")) # 得到csv文件对象读取内容
for csv_i in rr:
item.append(csv_i)# 将获取的数据添加到列表中
item = item[1:3] #将前面对应的标题去掉使用切片的方式
return item #返回这个集合
rcsv = ReadCsv()
print(rcsv.readCsv())#输出打印是否有数据
request请求接口返回状态码
import requests
from readdata.datacsv import ReadCsv
r = ReadCsv()
list = r.readCsv()
item = []
class TestCsvClass:
def test_csv(self):
for csv_i in list:
if csv_i[2] =='get':
r = requests.get(url=csv_i[0],params=csv_i[1])
item.append(r.status_code)
else:
r = requests.post(url=csv_i[0], data=csv_i[1])
item.append(r.status_code)
return item
t = TestCsvClass()
print(t.test_csv())
进行测试数据
import os,pytest
from readDemo.request_csv import TestCsvClass
r = TestCsvClass()
lists = r.test_csv()
class TestcsvClass():
def test_csv(self):
for csv_i in lists:
assert csv_i == 200
if __name__ == '__main__':
pytest.main(['--alluredir', 'report/result', 'test_csv.py'])
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
os.system(split)
pytest断言设置并结合allure生成测试报告
生成测试报告错误的
读取excle的
准备数据
创建exce文档
读取数据
from openpyxl import load_workbook
class UseExcel():
def get_TestExcel(self):
# 打开表
workbook = load_workbook('../data/111.xlsx')
# 定位表单
sheet = workbook['Sheet1']
print(sheet.max_row) #3 行
print(sheet.max_column) #3 列
test_data = []#把所有行的数据放到列表中
for i in range(2,sheet.max_row+1):
sub_data = {}#把每行的数据放到字典中
for j in range(1,sheet.max_column+1):
sub_data[sheet.cell(1,j).value] = sheet.cell(i,j).value
test_data.append(sub_data)#拼接每行单元格的数据
return test_data
request请求接口返回状态码
import requests
from readdata.dataexcle import UseExcel
u = UseExcel()
lists = u.get_TestExcel()
litm = []
class TestExcel:
def test_excel(self):
for excel_i in lists:
if excel_i['methond'] == 'get':
r = requests.get(url=excel_i['url'],params=excel_i['cs'])
litm.append(r.status_code)
else:
r = requests.get(url=excel_i['url'],data=excel_i['cs'])
litm.append(r.status_code)
return litm
t = TestExcel()
print(t.test_excel())
进行测试数据
import os,pytest
from readDemo.requestexcle import TestExcel
r = TestExcel()
lists = r.test_excel()
class TestexeClass():
def test_excle(self):
for excle_i in lists:
assert excle_i == 200
if __name__ == '__main__':
pytest.main(['--alluredir', 'report/result', 'test_excle.py'])
split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
os.system(split)
生成测试报告正确的
Original: https://blog.csdn.net/wangyudan1018/article/details/120706813
Author: 爱吃草莓的小王
Title: pytest+allure requests请求读取csv和excle生成测试报告
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/775241/
转载文章受原作者版权保护。转载请注明原作者出处!