- 新增 pytest_addoption 增加 "--caps_name" 获取配置文件中的设备/平台名称 - 修复 get_caps 的 Capabilities 加载逻辑 - 优化 其他优化 enums.py - 删除 移除部分文档,代码,第三方包(loguru)
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
#!/usr/bin/env python
|
|
# coding=utf-8
|
|
|
|
"""
|
|
@author: CNWei,ChenWei
|
|
@Software: PyCharm
|
|
@contact: t6g888@163.com
|
|
@file: enums
|
|
@date: 2026/2/27 17:05
|
|
@desc:
|
|
"""
|
|
from enum import Enum
|
|
|
|
|
|
class AppiumStatus(Enum):
|
|
"""Appium 服务状态枚举"""
|
|
READY = "服务已启动" # 服务和驱动都加载完成 (HTTP 200 + ready: true)
|
|
INITIALIZING = "驱动正在加载" # 服务已响应但驱动仍在加载 (HTTP 200 + ready: false)
|
|
CONFLICT = "端口被其他程序占用" # 端口被其他非 Appium 程序占用
|
|
OFFLINE = "服务未启动" # 服务未启动
|
|
ERROR = "内部错误"
|
|
UNKNOWN = "未知状态"
|
|
|
|
|
|
class ServiceRole(Enum):
|
|
"""服务角色枚举:定义服务的所有权和生命周期"""
|
|
MANAGED = "托管模式" # 由本脚本启动,负责清理
|
|
EXTERNAL = "共享模式" # 复用现有服务,不负责清理
|
|
NULL = "空模式" # 无效或未初始化的服务
|
|
|
|
|
|
class AppPlatform(Enum):
|
|
"""
|
|
定义支持的移动应用平台枚举。
|
|
"""
|
|
ANDROID = "android"
|
|
IOS = "ios"
|
|
|
|
|
|
class Locator(str, Enum):
|
|
"""
|
|
定义元素定位策略枚举。
|
|
继承 str 以便直接作为参数传递给 Selenium/Appium 方法。
|
|
"""
|
|
# --- 原有 Selenium 支持 ---
|
|
ID = "id"
|
|
NAME = "name"
|
|
CLASS = "class"
|
|
TAG = "tag"
|
|
LINK_TEXT = "link_text"
|
|
PARTIAL_LINK_TEXT = "partial_link_text"
|
|
CSS = "css"
|
|
XPATH = "xpath"
|
|
# --- Appium 特有支持 ---
|
|
ACCESSIBILITY_ID = "accessibility_id"
|
|
AID = "aid" # 简写
|
|
ANDROID_UIAUTOMATOR = "android_uiautomator"
|
|
IOS_PREDICATE = "ios_predicate"
|