Python自动化两套通用模板|测开日常提效干货(可直接运行)
💡 前言
本人多年从事软件开发/测试开发工作,以后会不定期分享实战干活内容,可以点个关注和收藏,以防下次找不到哦
工作中发现日常经常需要写接口测试、数据处理、报表整理等重复脚本。每次从零搭建十分耗费时间,于是整理了两套高复用、轻量化、可直接运行的 Python 自动化通用模板。
模板全程规范化编写,注释完整、结构清晰,适配日常工作提效、新手学习练手,无需复杂改造,配置基础参数即可使用。后续会持续更新测开、Python自动化相关干货,慢慢积累技术沉淀✨。
适合:软件测试、测开工程师、自学Python自动化的小伙伴参考学习。


一、模板通用设计思路
两套模板均遵循日常开发规范,主打轻量化、易复用、易维护:

  • 代码分层清晰,注释详细,可读性拉满
  • 配置与代码分离,仅需修改基础参数,无需改动核心源码
  • 内置日志输出,方便日常调试、问题排查
  • 无冗余代码,适配 Windows / Mac 全环境运行

二、接口自动化模板(pytest + requests)
适用场景
日常接口功能测试、版本回归测试、服务接口定时巡检、新手自动化框架练手,是测开日常使用频率最高的基础模板。
核心能力
统一封装接口请求方法、支持 GET/POST 主流请求方式、自带日志记录、响应结果断言、批量用例执行。

通用接口自动化模板 pytest + requests

import requests
import pytest
import logging

统一日志输出配置

logging.basicConfig(
level=logging.INFO,
format=“%(asctime)s - %(levelname)s - %(message)s”
)
logger = logging.getLogger(name)

全局基础配置(按需修改即可)

BASE_URL = “https://api-demo.com”
HEADERS = {
“Content-Type”: “application/json”,
“token”: “xxxxxx”
}

def send_api_request(url, method=“GET”, data=None, params=None):
“”"
通用接口请求封装方法
:param url: 接口后缀地址
:param method: 请求方式 GET/POST
:param data: POST请求参数
:param params: GET请求参数
:return: 接口响应对象
“”"
full_url = BASE_URL + url
try:
if method.upper() == “GET”:
response = requests.get(full_url, headers=HEADERS, params=params)
elif method.upper() == “POST”:
response = requests.post(full_url, headers=HEADERS, json=data)
else:
logger.error(“暂不支持当前请求方式”)
return None
logger.info(f"请求地址:{full_url} | 响应状态码:{response.status_code}“)
return response
except Exception as e:
logger.error(f"接口请求异常:{str(e)}”)
return None

测试用例集合

class TestApiAutomation:
def test_get_interface_demo(self):
“”“GET接口测试示例”“”
res = send_api_request(“/api/test/demo”, method=“GET”)
assert res is not None
assert res.status_code == 200
assert res.json().get(“code”) == 200

def test_post_interface_demo(self):
    """POST接口测试示例"""
    post_data = {
        "username": "test01",
        "password": "123456"
    }
    res = send_api_request("/api/test/login", method="POST", data=post_data)
    assert res is not None
    assert res.json().get("code") == 200

if name == “main”:
# 批量执行所有测试用例
pytest.main([“-v”, “-s”, file])

使用说明

  1. 仅需修改全局配置中的接口域名、token 即可适配对应项目;
  2. 新增测试用例直接在测试类中新增方法,完全贴合 pytest 规范;
  3. 可搭配 Allure 插件生成可视化测试报告,适配工作汇报、项目交付场景。

三、Excel自动化处理模板
适用场景
测试数据整理、批量数据清洗、测试结果统计、日常办公表格处理,能极大减少重复制表、改表的人工成本。
核心能力
支持 Excel 数据读取、条件筛选、自定义处理、结果保存,封装成类方法,复用性极强。

Excel自动化批量处理通用模板

import pandas as pd
import logging

日志初始化

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(name)

class ExcelAutoTool:
def init(self, file_path):
“”"
初始化Excel工具类
:param file_path: 目标Excel文件路径
“”"
self.file_path = file_path

def read_excel(self, sheet_name=0):
    """读取Excel所有数据"""
    try:
        df = pd.read_excel(self.file_path, sheet_name=sheet_name)
        logger.info(f"文件读取成功,共计 {len(df)} 行数据")
        return df
    except Exception as e:
        logger.error(f"文件读取失败:{str(e)}")
        return None

def save_excel(self, df, save_path):
    """保存处理后的Excel数据"""
    try:
        df.to_excel(save_path, index=False)
        logger.info(f"数据处理完成,已保存至:{save_path}")
        return True
    except Exception as e:
        logger.error(f"数据保存失败:{str(e)}")
        return False

def filter_data(self, df, column_name, target_value):
    """根据条件筛选表格数据"""
    return df[df[column_name] == target_value]

快速调用示例

if name == “main”:
# 初始化工具并执行数据筛选
excel_tool = ExcelAutoTool(“test_data.xlsx”)
data_df = excel_tool.read_excel()

if data_df is not None:
    # 筛选状态为成功的所有数据
    success_data = excel_tool.filter_data(data_df, "状态", "成功")
    # 保存筛选结果
    excel_tool.save_excel(success_data, "success_data_result.xlsx")

四、模板总结
这两套模板覆盖了测开日常接口自动化测试、数据自动化处理两大高频场景,规避了重复造轮子的问题。新手可以通过模板熟悉自动化开发思路,职场人可以直接复用提升工作效率。
后续会持续分享 Python自动化、测试开发、接口测试、环境搭建 等实战干货,持续更新日常工作中实用的工具和技巧,欢迎一起交流学习~

#Python自动化 #软件测试 #测试开发 #自动化测试 #pytest #接口测试 #Excel自动化 #程序员干货 #技术分享 #测试工程师

更多推荐