Files
ai_wht_wechat/backend/test_login_page_config.py
2026-01-06 19:36:42 +08:00

107 lines
3.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
测试登录页面配置功能
验证通过配置文件控制登录页面类型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)