# 运八网络货运平台 — 测试环境配置
# 数据来源: knowledge_base/00_project/project_profile.md
# 使用方式: from tests.config.test_config import load_config
#
# 覆盖端:
#   Web:  管理端 admin / 司机端小程序 mini_program
#   App:  司机安卓 driver_android / 货主安卓 shipper_android
#         司机苹果 driver_ios / 货主苹果 shipper_ios

# ═══════════════════════════════════════════════════════════════════
# ── 管理端 (Web/Playwright) ──
# ═══════════════════════════════════════════════════════════════════
admin:
  base_url: "https://ybxcx.ynyun8.com:8000/admin"
  api_base_url: "https://ybxcx.ynyun8.com:8000/"
  timeout_seconds: 120
  screenshot_on_failure: true
  screenshot_on_step: false
  browsers:
    - chromium
    - firefox
  viewport:
    width: 1920
    height: 1080

  # 登录态复用: python tests/web/admin/save_auth.py 生成后自动跳过验证码
  skip_login: true
  storage_state_dir: "tests/web/auth"

# ═══════════════════════════════════════════════════════════════════
# ── 司机端小程序 (miniprogram-automator / Node.js) ──
# ═══════════════════════════════════════════════════════════════════
# 原理: Python pytest → subprocess → node runner.js → miniprogram-automator
#       操控微信开发者工具中的小程序，返回 JSON 结果
#
# 前置条件:
#   1. 安装微信开发者工具 + 开启服务端口（设置 → 安全 → 服务端口）
#   2. uni-app 编译为微信小程序: npm run build:mp-weixin
#   3. 安装依赖: cd tests/web/mini_program/automator && npm install
mini_program:
  # uni-app 编译出的小程序项目路径（.js/.json/.wxml 所在目录）
  project_path: "E:/test/QaAutomationHub/mini_program/dist"  # ⚠️ 请确认实际路径
  # 微信开发者工具 CLI 路径（Windows 默认如下，macOS 为 /Applications/...）
  dev_tool_path: "C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat"
  timeout_seconds: 120
  screenshot_on_failure: true

# ═══════════════════════════════════════════════════════════════════
# ── 司机安卓端 (App/Appium) ──
# ═══════════════════════════════════════════════════════════════════
driver_android:
  appium_host: "http://localhost:4723"
  timeout_seconds: 120
  screenshot_on_failure: true
  platform: android
  skip_login: true          # 手动登录一次后 noReset 自动复用

  device_name: "Android Emulator"
  app_package: "com.arpa.ynchenggangdriver"         # ⚠️ 请确认实际包名
  app_activity: "com.arpa.ntocc.MainActivity"       # ⚠️ 请确认实际启动 Activity
  no_reset: true
  new_command_timeout: 120

# ═══════════════════════════════════════════════════════════════════
# ── 货主安卓端 (App/Appium) ──
# ═══════════════════════════════════════════════════════════════════
shipper_android:
  appium_host: "http://localhost:4723"
  timeout_seconds: 120
  screenshot_on_failure: true
  platform: android
  skip_login: true

  device_name: "Android Emulator"
  app_package: "com.arpa.ynChengGangShipper"                   # ⚠️ 请确认实际包名
  app_activity: "com.arpa.wuche_shipper.MainActivity"                      # ⚠️ 请确认实际启动 Activity
  no_reset: true
  new_command_timeout: 120

# ═══════════════════════════════════════════════════════════════════
# ── 司机苹果端 (App/Appium，需 macOS) ──
# ═══════════════════════════════════════════════════════════════════
driver_ios:
  appium_host: "http://localhost:4723"
  timeout_seconds: 120
  screenshot_on_failure: true
  platform: ios
  skip_login: true

  device_name: "iPhone 15"
  bundle_id: "com.arpa.ynchenggangdriver"            # ⚠️ 请确认实际 Bundle ID
  no_reset: true
  new_command_timeout: 120

# ═══════════════════════════════════════════════════════════════════
# ── 货主苹果端 (App/Appium，需 macOS) ──
# ═══════════════════════════════════════════════════════════════════
shipper_ios:
  appium_host: "http://localhost:4723"
  timeout_seconds: 120
  screenshot_on_failure: true
  platform: ios
  skip_login: true

  device_name: "iPhone 15"
  bundle_id: "com.yunba.shipper"                     # ⚠️ 请确认实际 Bundle ID
  no_reset: true
  new_command_timeout: 120

# ═══════════════════════════════════════════════════════════════════
# ── 测试账号 ──
# ═══════════════════════════════════════════════════════════════════
accounts:
  super_admin:
    phone: "super_admin"
    password: "951260684NiAn.."
    role: "平台运营人员"
    use_on: [admin]

  team_leader:
    phone: "13113113113"
    password: "88888888"
    role: "车队长"
    use_on: [admin, mini_program]

  driver:
    phone: "15188888888"
    password: "88888888"
    role: "司机"
    use_on: [mini_program, driver_android, driver_ios]

  shipper:
    phone: "13800000000"                              # ⚠️ 请确认实际货主账号
    password: "88888888"
    role: "货主"
    use_on: [shipper_android, shipper_ios]

# ═══════════════════════════════════════════════════════════════════
# ── 报告 ──
# ═══════════════════════════════════════════════════════════════════
report:
  logs_dir: "output/logs"
  screenshots_dir: "output/screenshots"
  junit_xml: "output/reports/junit.xml"
