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 存放接口测试编写的测试用例
整个测试框架主要分为两部分:测试用例生成,接口测试执行
一、 测试用例的生成:
用户将存储原始测试用例的excel文件放到data_origin文件夹中;
编辑接口测试脚本,在接口测试脚本中调用generateTestcase.py文件的generate_testcases方法,生成测试用例并将测试用例写入excel文件存储在data文件夹中。
二、 接口测试执行
-
接口测试脚本编写,首先读取data文件中的测试用例,并将测试用例生成json格式数据
-
调用reqMethod里的请求方法,进行接口测试
将接口测试返回数据写入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)
生成的接口测试结果如下图所示:
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。