接口自动化测试框架(python3+requests+excel)

本文介绍了一个基于Python和requests的接口自动化测试框架,该框架利用Excel存储测试用例,通过PyCharm开发环境实现测试用例的生成和执行,最终将测试结果写回Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git:https://github.com/lilinyu861/Interface-Test

环境配置:

   开发工具:pycharm2018+Excel

   开发框架:python3+requests+excel

接口自动化测试框架介绍:

此接口测试框架,首先由用户设计原始的测试用例并为测试用例写用例注解,将原始测试用例写入excel文件中保存到data_origin文件夹中,例如下图所示

然后调用common文件夹中的generateTestcases.py中的generate_testcases()方法,向方法中传入参数,参数内容包括原始测试用例excel文件位置,生成测试用例excel文件后的保存位置,生成测试用例注解excel文件后的保存位置。

生成测试用例excel文件如下所示:

生成测试用例注解excel文件如下所示:

测试用例生成之后,可以编辑接口测试代码,执行接口测试,然后将测试用例的数据写入excel文件中并存储在reports文件夹中。   

接口自动化测试框架各模块详细介绍:

整个测试框架的结构如下图所示:

  • common 存放公用的方法
  • common_data 存放公用的数据
  • data 存放测试用例的excel文件
  • data_origin 存放原始测试用例的excel文件
  • reports 存放记录接口测试用例返回报文的excel文件
  • test 测试测试框架的方法能否正常执行
  • testcase 存放接口测试编写的测试用例

整个测试框架主要分为两部分:测试用例生成,接口测试执行

一、  测试用例的生成:

             1. 用户将存储原始测试用例的excel文件放到data_origin文件夹中;

             2. 编辑接口测试脚本,在接口测试脚本中调用generateTestcase.py文件的generate_testcases方法,生成测试用例并将测试用例写入excel文件存储在data文件夹中。

二、  接口测试执行

            1. 接口测试脚本编写,首先读取data文件中的测试用例,并将测试用例生成json格式数据

            2. 调用reqMethod里的请求方法,进行接口测试

            3. 将接口测试返回数据写入excel文件并保存在reports文件夹中。

"""
接口测试
读取excel中的原始数据,经处理后生成测试用例,利用测试用例对接口进行测试,将接口测试返回结果存放到excel文件中。
"""
from common.generateTestcases import GenerateTestcases
from common.excelToDic import ExcelToDic
from common_data.interfaceUrl import Url
from common.reqMethod import RequestMethod
import xlwt


login_url = Url.login_url
# 原始数据表格位置
origin_excel_path = '../test/data_origin/test_read_excel.xlsx'
# 测试用例数据存放位置
excel_case_1 = '../test/data/test_case_01.xls'
# 测试用例解释数据存放位置
excel_case_2 = '../test/data/test_case_02.xls'
save_path = '../test/reports/report.xls'
g = GenerateTestcases()
# 生成测试用例及测试用例解释的excel文件
g.generate_testcases(origin_excel_path, excel_case_1, excel_case_2)
# 写入的excel
book = xlwt.Workbook(encoding="utf-8")
sheet = book.add_sheet('Sheet1', cell_overwrite_ok=True)
# 报文头
headers = {
    'Content-Type': 'application/json'
}
# 将测试用例写入excel文件中
test_cases = ExcelToDic().getExcelData(excel_case_1, 'Sheet1')
print(test_cases)
len = len(test_cases)
for i in range(len):
    print(test_cases[i])
    response = RequestMethod().post(interface_url=login_url,
                                    headers=headers,
                                    data=test_cases[i])
    print(i, response)

    # 将数据写入i行j列
    sheet.write(0, 0, 'email')
    sheet.write(0, 1, 'password')
    sheet.write(0, 2, 'response')
    sheet.write(i+1, 0, test_cases[i]['email'])
    sheet.write(i+1, 1, test_cases[i]['password'])
    sheet.write(i+1, 2, response.text)
book.save(save_path)



生成的接口测试结果如下图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值