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