Python使用requests+pytest+allure将CSV中的数据生成测试报告(接口自动化)

我们需要4个文件:

1. 123.csv			# csv文件保留数据
2. readcsv.py		# 读取csv文件
3. requestcsv.py	# 请求数据文件
4. testcsv.py		# 生成测试文件

1. 123.csv

csv文件的数据是以逗号,隔开。我这个是在桌面上创建的Excel表格另存保存的csv文件,导入了Project中。

url,params,method
http://apis.juhe.cn/cxdq/brand,"{'first_letter':'A','key':'3dca71b34fa273c3088a07b27050f4de'}",get
http://apis.juhe.cn/cxdq/brand,"{'first_letter':'A','key':'3dca71b34fa273c3088a07b27050f4de'}",post

2. readcsv.py

import csv

class ReadCsvClass(object):
    def readCsvMethod(self):
        item = []
        csv_con = csv.reader(open("../datademo/123.csv","r"))   # 打开文件
        for csv_i in csv_con:
            # print(csv_i)
            item.append(csv_i)
        item = item[1:]
        return item

res = ReadCsvClass()
print(res.readCsvMethod())

输出:
在这里插入图片描述

3. requestcsv.py

from requeststext.readdemo.readcsv import ReadCsvClass
import requests

resler = ReadCsvClass()
cc = resler.readCsvMethod()

class RequestCsvClass():
    def requestCsvMonth(self):
        item = []
        for csv_i in cc:
            if csv_i[2] == 'get':			# 用读取来的列表参数判断
                aa = requests.get(csv_i[0], params=csv_i[1])
                item.append(aa.status_code)			# 打印url的响应,状态码。
            else:				# 我这边简单写了一下,下边的判断还是原来的那一条用例,所以只测试一条
                bb = requests.post(csv_i[0], data=csv_i[1])			# 这边的索引就是选择用例参数,添加到requests中进行测试。
                item.append(bb.status_code)
        return item

res = RequestCsvClass()
print(res.requestCsvMonth())

输出:
在这里插入图片描述

4. testcsv.py

import pytest,os
from requeststext.requestsDemo.requestcsv import RequestCsvClass


res = RequestCsvClass()
rr = res.requestCsvMonth()
class TestCless():
    def test001(self):
        for i in rr:
            assert i == 200
if __name__ == '__main__':
    pytest.main(['--alluredir', 'report/result', 'testcsv.py'])
    split = 'allure ' + 'generate ' + './report/result ' + '-o ' + './report/html ' + '--clean'
    os.system(split)

输出:
Python使用requests+pytest+allure将CSV中的数据生成测试报告(接口自动化)_第1张图片

然后我们打开生成的html,选择浏览器打开。
Python使用requests+pytest+allure将CSV中的数据生成测试报告(接口自动化)_第2张图片
Python使用requests+pytest+allure将CSV中的数据生成测试报告(接口自动化)_第3张图片
这样就说明我们的那一条用例已经测试完毕,通过。
Python使用requests+pytest+allure将CSV中的数据生成测试报告(接口自动化)_第4张图片

你可能感兴趣的:(python,测试,接口自动化)