pytest+allure 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()

结果

pytest+allure requests请求读取csv和excle生成测试报告

读取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())#输出打印是否有数据

pytest+allure requests请求读取csv和excle生成测试报告

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())

pytest+allure requests请求读取csv和excle生成测试报告

进行测试数据

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 requests请求读取csv和excle生成测试报告

pytest断言设置并结合allure生成测试报告

生成测试报告错误的

pytest+allure requests请求读取csv和excle生成测试报告

读取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())

pytest+allure requests请求读取csv和excle生成测试报告

进行测试数据

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)

pytest+allure requests请求读取csv和excle生成测试报告

生成测试报告正确的

pytest+allure requests请求读取csv和excle生成测试报告

Original: https://blog.csdn.net/wangyudan1018/article/details/120706813
Author: 爱吃草莓的小王
Title: pytest+allure requests请求读取csv和excle生成测试报告

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/775241/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球