赞
踩
需要测试的接口场景为:6个接口,分别为登录接口,新建项目接口,导入图片接口,图片识别接口,保存接口,退出登录
实现接口自动化测试需要按照一系列步骤来搭建框架和编写代码。下面是一个简化的流程,用于指导你完成整个项目。
1. 环境准备
requests
, openpyxl
, unittest
, ddt
, logging
, beautifulsoup4
, lxml
等。pip install requests openpyxl unittest ddt logging beautifulsoup4 lxml
2. Excel接口数据及测试结果
openpyxl
库读取Excel数据。** 3. 测试用例**
unittest
框架编写测试方法。ddt
库实现数据驱动测试。4. API封装
5. 读取Excel数据和登录功能封装
6. 初始化数据
7. 日志
logging
库配置日志记录,记录测试过程中的关键信息。8. 配置文件
9. HTMLTestRunner生成可视化的html报告
HTMLTestRunner
生成测试报告。10. 报告通过飞书发送
11. 入口函数
一个完整的项目基础结构包括(此基础上可更加详细):
config/
: 存放配置文件。data/
: 存放测试数据,如Excel文件。logs/
: 存放日志文件。test_cases/
: 存放测试用例文件。utils/
: 存放工具函数和模块,如API封装、Excel读取、日志设置等。main.py
: 入口脚本。requirements.txt
: 项目依赖文件。由于实现一个完整的接口自动化框架涉及到大量的代码和配置,我将提供一个简化版的框架搭建示例,并对关键部分进行详细的注释说明。请注意,实际项目中可能还需要进行更多的错误处理、日志记录、异常捕捉等。
首先,确保已经安装了必要的库:
pip install requests openpyxl unittest ddt beautifulsoup4 lxml
创建一个配置文件config.ini
:
[API]
base_url = http://your-api-endpoint.com/api/v1
[EXCEL]
data_file = test_data.xlsx
sheet_name = TestCases
[LOGGING]
log_file = test.log
log_level = INFO
[FEISHU]
webhook_url = https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxx
在test_data.xlsx
中准备测试数据,包括请求参数和预期结果。以下实例EXCEL参考
api_module.py
:
import requests from configparser import ConfigParser config = ConfigParser() config.read('config.ini') class API: def __init__(self): self.base_url = config.get('API', 'base_url') self.session = requests.Session() self.headers = { 'Content-Type': 'application/json'} self.token = None def login(self, username, password): url = f"{ self.base_url}/login" data = { 'username': username, 'password': password} response = self.session.post(url, json=data, headers=self.headers) if response.status_code == 200: self.token = response.json().get('token') return True return False def create_project(self, project_data): # 假设token在header中传递 headers = self.headers.copy() if self.token: headers['Authorization'] = f'Bearer { self.token}' url = f"{ self.base_url}/project" response = self.session.post(url, json=project_data, headers=headers) return response # ... 其他接口方法
excel_module.py
:
import openpyxl
from configparser import ConfigParser
config = ConfigParser()
config.read('config.ini')
def read_excel_data():
data_file = config.get('EXCEL', 'data_file')
sheet_name = config.get('EXCEL', 'sheet_name')
wb = openpyxl.load_workbook(data_file)
sheet = wb[sheet_name]
test_cases = []
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。