Files
ai_wht_wechat/backend/test_login_page_config.py

107 lines
3.4 KiB
Python
Raw Normal View History

2026-01-06 19:36:42 +08:00
"""
测试登录页面配置功能
验证通过配置文件控制登录页面类型creator vs home
"""
import sys
from config import load_config
def test_config_reading():
"""测试配置读取"""
print("="*60)
print("测试配置文件读取")
print("="*60)
# 测试dev配置
print("\n1. 测试开发环境配置 (config.dev.yaml)")
config_dev = load_config('dev')
login_page = config_dev.get_str('login.page', 'creator')
login_headless = config_dev.get_bool('login.headless', False)
print(f" login.page = {login_page}")
print(f" login.headless = {login_headless}")
# 根据配置决定预热URL
if login_page == "home":
preheat_url = "https://www.xiaohongshu.com"
else:
preheat_url = "https://creator.xiaohongshu.com/login"
print(f" 预热URL = {preheat_url}")
# 测试prod配置
print("\n2. 测试生产环境配置 (config.prod.yaml)")
config_prod = load_config('prod')
login_page_prod = config_prod.get_str('login.page', 'creator')
login_headless_prod = config_prod.get_bool('login.headless', False)
print(f" login.page = {login_page_prod}")
print(f" login.headless = {login_headless_prod}")
if login_page_prod == "home":
preheat_url_prod = "https://www.xiaohongshu.com"
else:
preheat_url_prod = "https://creator.xiaohongshu.com/login"
print(f" 预热URL = {preheat_url_prod}")
print("\n" + "="*60)
print("✅ 配置读取测试完成")
print("="*60)
def test_api_parameter_override():
"""测试API参数覆盖配置"""
print("\n" + "="*60)
print("测试API参数覆盖配置")
print("="*60)
config = load_config('dev')
default_login_page = config.get_str('login.page', 'creator')
# 模拟不同的API参数情况
test_cases = [
(None, "应使用配置默认值"),
("creator", "API指定creator"),
("home", "API指定home"),
]
for api_param, description in test_cases:
login_page = api_param if api_param else default_login_page
print(f"\n场景: {description}")
print(f" 配置默认值 = {default_login_page}")
print(f" API参数 = {api_param}")
print(f" 最终使用 = {login_page}")
# 决定URL
if login_page == "home":
url = "https://www.xiaohongshu.com"
page_name = "小红书首页"
else:
url = "https://creator.xiaohongshu.com/login"
page_name = "创作者中心"
print(f" → 将访问: {page_name} ({url})")
print("\n" + "="*60)
print("✅ API参数覆盖测试完成")
print("="*60)
if __name__ == "__main__":
try:
test_config_reading()
test_api_parameter_override()
print("\n🎉 所有测试通过!")
print("\n使用说明:")
print("1. 在 config.dev.yaml 或 config.prod.yaml 中修改 login.page 配置")
print("2. 可选值: creator (创作者中心) 或 home (小红书首页)")
print("3. API请求中的 login_page 参数可以覆盖配置文件的默认值")
print("4. 如果API请求不传 login_page 参数,将使用配置文件中的默认值")
except Exception as e:
print(f"\n❌ 测试失败: {str(e)}")
import traceback
traceback.print_exc()
sys.exit(1)