# my_api_auto_futureloan **Repository Path**: mingyu87/my_api_auto_futureloan ## Basic Information - **Project Name**: my_api_auto_futureloan - **Description**: http接口自动化测试框架封装,基于python、requests、unittest、ddt、openpyxl、mysql、re、logging等工具。以P2P金融项目“前程贷”为例,对注册、登录、充值、加标、投资接口实现了接口自动化测试。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-07 - **Last Updated**: 2021-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # my_api_auto_futureloan #### 介绍 http接口自动化测试框架封装,基于python、requests、unittest、ddt、openpyxl、mysql、re、logging等工具。以P2P金融项目“前程贷”为例,对注册、登录、充值、加标、投资接口实现了接口自动化测试。 #### 文件说明 ##### case.config - MODE用于配置测试用例执行范围,例如:'login':'all'表示执行login模块的所有测试用例;'register':[1,2]表示执行register模块的第1、2条测试用例。 - DB用于配置数据库连接信息,包括IP、登录用户名、登录密码、端口等。 ##### testcase.xlsx - 每个sheet表单对应一个功能模块,每个表单中包含id(用例编号)、url(接口请求地址)、data(接口请求数据,用${变量名}处理参数化)、check_url(涉及金额变化的测试用例需请求数据库对比数据,以字典形式存储SQL语句)、title(用例标题)、method(http请求方式)、expected(预期响应代码)、result(接口请求返回数据)、test_result(测试结果,通过/失败)。 - "init"表单中存储一些变量用于参数化(例如未注册的手机号),一些固定的参数也写在这里(例如后台管理员账号)。 ##### test_api.log 保存执行日志。 ##### test_api.html 输出测试报告。 ##### do_excel.py 通过Excel实现业务代码与数据分离。 - get_data方法:读取Excel,同时完成参数化替换,最终输出列表嵌套字典的数据用于接口请求Data。 - write_data方法:将结果写回Excel。 - update_tel方法:更新Excel中的手机号用于下次注册。 ##### do_mysql.py 封装MySQL数据库请求,返回请求结果(一条数据用元祖,多条数据用列表嵌套元祖) ##### do_regx.py 封装正则,用于表格中${变量名}的参数化替换。 ##### get_data.py 利用反射进行数据的存储和读取。 ##### get_path.py 配置常用的文件路径。 ##### http_request.py 封装requests基类,用于http request请求。 ##### my_logger.py 封装日志收集模块,用于项目执行中的日志输出。 ##### read_config.py 封装读取配置文件的方法。 ##### send_email.py 封装邮件发送的方法。 ##### test_http_request.py 基于unittest封装接口测试类,通过ddt对do_excel读取到的数据进行解包->参数化替换->发送接口请求->断言对比->测试结果写回Excel。 ##### run.py 项目执行入口,加载并执行测试用例,输出测试报告。 #### 使用说明 `python run.py`