Skip to content

LuyaoZhong/proxy-e2e

Repository files navigation

Forward Proxy E2E Test Framework

Forward Proxy 端到端测试框架,验证 HTTP/HTTPS 代理的协议路由行为。


快速开始

1. 安装依赖

pip3 install -r requirements.txt

2. 配置代理

编辑 framework/proxy/config.yaml

proxy:
  host: 127.0.0.1
  port: 8090

environment: local

也可以直接填写完整 URL:

proxy:
  url: "http://127.0.0.1:8090"

3. 运行测试

# 快速冒烟(排除慢速测试)
python3 -m pytest -m "not slow" -v

# 全部测试
python3 -m pytest -v

# 按协议筛选
python3 -m pytest -m http -v
python3 -m pytest -m https -v

# 只跑慢速(连接压测)
python3 -m pytest -m slow -v

# 跑单个 case
python3 -m pytest tests/https/test_https.py::TestHttp11Tls12::test_get -v

测试结构

tests/
├── http/
│   └── test_http.py       # HTTP 明文转发
└── https/
    └── test_https.py      # HTTPS TLS 路由

HTTP 测试(tests/http/

客户端 测试内容
TestHttp11 HTTP/1.1 GET、长/短连接压测
TestHttp2 HTTP/2(h2c 降级) GET(验证降级至 HTTP/1.1)、长/短连接压测

HTTPS 测试(tests/https/

客户端 测试内容
TestHttp11Tls12 HTTP/1.1 + TLS 1.2 GET/POST/PUT/DELETE、Header 转发、并发、长/短连接压测
TestHttp2Tls12 HTTP/2 + TLS 1.2 GET/POST、长/短连接压测
TestHttp11Tls13 HTTP/1.1 + TLS 1.3 GET/POST、长/短连接压测
TestHttp2Tls13 HTTP/2 + TLS 1.3 GET/POST、长/短连接压测

测试标记

标记 说明
http HTTP 明文测试
https HTTPS TLS 测试
slow 慢速压测(100 次请求)

日志

测试失败时 pytest 自动展示捕获日志。所有日志完整写入 reports/pytest.log

About

E2E tests for proxies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors