ha4t.cdp.server module

用于启动 app ,并开启cdp服务,支持pc,android,ios

class Server[源代码]

基类:object

window系统进程管理类,主要用于管理服务进程

kill_dead_servers(port: int) None[源代码]

结束死掉的服务器进程

参数:

port -- 需要结束的进程所占用的端口

Example:
>>> server = Server()
>>> server.kill_dead_servers(9222)  # 结束占用9222端口的进程
kill_pid(pid: int) None[源代码]

结束指定的进程

参数:

pid -- 进程ID

Example:
>>> server = Server()
>>> server.kill_pid(1234)  # 结束PID为1234的进程
classmethod find_process_by_name(name: str) list[源代码]

根据进程名查找进程

参数:

name -- 进程名

返回:

进程信息列表

Example:
>>> processes = Server.find_process_by_name("chrome")  # 查找名为chrome的进程
static get_pid_by_port(port) str[源代码]

根据端口获取进程ID

参数:

port -- 端口号

返回:

进程ID

Example:
>>> pid = Server.get_pid_by_port(9222)  # 获取占用9222端口的进程ID
classmethod get_pid(process) str[源代码]

获取进程的PID

参数:

process -- 进程对象

返回:

进程ID

Example:
>>> pid = Server.get_pid(process)  # 获取进程对象的PID
static pid_exists(pid) bool[源代码]

检查进程是否存在

参数:

pid -- 进程ID

返回:

是否存在

Example:
>>> exists = Server.pid_exists(1234)  # 检查PID为1234的进程是否存在
classmethod get_port_exists(port) bool[源代码]

检查端口是否被占用

参数:

port -- 端口号

返回:

是否被占用

Example:
>>> exists = Server.get_port_exists(9222)  # 检查9222端口是否被占用
classmethod wait_connect(port, timeout=10) None[源代码]

等待连接

参数:
  • port -- 端口号

  • timeout -- 超时时间

抛出:

TimeoutError -- 如果连接超时

Example:
>>> Server.wait_connect(9222, timeout=10)  # 等待连接9222端口,超时10秒
class CdpServer(ignore_exist_port=True)[源代码]

基类:Server

start_server_for_android_app(adb: AdbDevice, port=9222, timeout=10) None[源代码]

开启android app cdp服务 :param adb: adb设备 :param port: 端口 :param timeout: 超时时间 :Example:

>>> cdp_server.start_server_for_android_app(adb_device, port=9222)  # 启动Android应用的CDP服务
start_server_for_ios_app(port=9222, timeout=10) None[源代码]

开启ios app cdp服务

参数:
  • port -- 端口

  • timeout -- 超时时间

  • use_existing_port -- 是否使用已存在的端口

Example:
>>> cdp_server.start_server_for_ios_app(port=9222)  # 启动iOS应用的CDP服务
start_server_for_windows_app(app_path: str, port=9222, reset=False, user_data_dir=None, timeout=10, lang='zh-CN') None[源代码]

开启windows app cdp服务

参数:
  • app_path -- 应用路径

  • port -- 端口

  • reset -- 是否重置用户数据

  • user_data_dir -- 用户数据目录

  • timeout -- 超时时间

  • lang -- 语言

Example:
>>> cdp_server.start_server_for_windows_app("C:/path/to/app.exe", port=9222)  # 启动Windows应用的CDP服务
start_server_for_mac_app(file_path: str, port=9222) None[源代码]

TODO: 这里需要根据macOS的具体情况实现 :param file_path: 应用路径 :param port: 端口 :Example:

>>> cdp_server.start_server_for_mac_app("/path/to/app", port=9222)  # 启动macOS应用的CDP服务