栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

requests请求接口测试csv和excle

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

requests请求接口测试csv和excle

介绍


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)

生成测试报告正确的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316568.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号