commit
This commit is contained in:
106
backend/test_login_page_config.py
Normal file
106
backend/test_login_page_config.py
Normal file
@@ -0,0 +1,106 @@
|
||||
"""
|
||||
测试登录页面配置功能
|
||||
验证通过配置文件控制登录页面类型(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)
|
||||
Reference in New Issue
Block a user