requests + pytest + allure 结合使用并生成测试报告

目录

  1. 流程

  2. requests 读取 CSV 文件

  3. 使用requests 请求读CSV的结果并放到列表中

  4. 写测试用例并生成测试报告

  5. requests 读取 excel 文件

  6. 使用requests 请求读取到excel

  7. 编写测试用例并生成测试报告

1. 流程

  读取文件中的数据

  requests 拿到数据请求接口返回状态码

  通过断言验证返回状态码和200对比

  生成allure的测试报告

2. requests 读取CSV文件

import csv
class ReadCsv():
    def readCsv(self):
        item = []
        rr = csv.reader(open("../dataDemo/123.csv"))
        for csv_i in rr:
            item.append(csv_i)
        return item

 

1)新建dataDemo 目录与 requestsDemo 目录同级

 

2)在本地新建一个excel 表并填入数据

 

 

3)另存为 csv 文件

 

4)将csv 文件放到 dataDemo 目录下

 

5)新建readcsv.py 并写入代码

 

6)新建readcsv.py 并写入代码

 

7)运行看效果

 

3. 使用 requests 请求读 csv 的结果并放到列表中

在requestsDemo 目录下新建 requestscsv.py 并写入代码

 

4. 写测试用例并生成测试报告

1)新建testDemo 目录并在目录下新建test_01.py

 

2)在test_01.py中导入requestscsv并实例化

 

3)写测试用例

 

4)运行生成测试报告

 

 

 

5. requests 读取 excel 文件

前提:

pip install openpyxl

from openpyxl import load_workbook
class UseExcel():
    def get_TestExcel(self):
        # 打开表
        workbook = load_workbook('D:\install\python\python\Test_allure\DataDemo/test1.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
t = UseExcel()
f = t.get_TestExcel()
print(f)

1)在requestsDemo目录下新建readexcel.py并写入代码

 

2)将excel的路径粘贴到load_workbook

 

 

3)运行看结果

4)将 \ 改为 /

 

你会发现依然报错

5)在路径前加 r

 

6. 使用requests 请求读到 excel

import requests
from readDemo.readexcel import UseExcel
class Use_Requestexcel():
    def qualification_add(self):
        t = UseExcel()
        f = t.get_TestExcel()
        item =[]
        for excel_i in f:
            if excel_i["method"] == "get":
                rr = requests.get(excel_i["url"],params=excel_i["params"])
                item.append(rr.status_code)
            else:
                rr = requests.post(excel_i["url"],data=excel_i["params"])
                item.append(rr.status_code)
        return item
if __name__=="__main__":
    c = Use_Requestexcel().qualification_add()
    print(c)

1)在requestsDemo目录下新建一个requestsexcel.py

 

2)在requestsDemo.py中写入代码并运行

 

7. 编写测试用例并生成测试报告

1)在testDemo目录下新建test_02.py并导入读取的excel

 

 

2)运行生成测试报告

 

 

 

posted @ 2021-04-07 09:12  Mr-刘  阅读(293)  评论(0编辑  收藏  举报