Appearance
...
Appearance
分层架构 + 配置分离 + 数据驱动
测 1 个接口 → 脚本够了。测 100 个接口 → 没有框架会崩溃。
框架解决:代码复用、数据分离、可维护。
用例层(tests/) ← 测试用例
业务层(api/) ← 封装业务接口
请求层(base_api.py) ← 封装 requests
配置层(config.yaml) ← 环境配置class BaseApi:
def __init__(self):
self.session = requests.Session()
def send(self, method, url, **kwargs):
return self.session.request(method, url, **kwargs)class UserApi(BaseApi):
def login(self, username, password):
return self.send("POST", "/login", json={"user": username, "pwd": password})# config.yaml
test:
base_url: "https://test-api.example.com"
username: "admin"def load_config(env="test"):
with open("config.yaml") as f:
return yaml.safe_load(f)[env]api_test_project/
├── config/config.yaml
├── data/test_data.yaml
├── api/base_api.py
├── api/api_user.py
├── tests/conftest.py
├── tests/test_user.py
├── utils/logger.py
└── reports/