# 查看进程ID
netstat -ano | findstr 4723
netstat -ano | findstr 4725
# 杀进程
taskkill /F /PID <PID>
def get_session_id_by_udid(appium_host: str, appium_port: int, udid: str):
"""通过 udid 查询对应的 session_id,使用 http.client 实现"""
conn = http.client.HTTPConnection(appium_host, appium_port, timeout=10)
try:
conn.request("GET", "/wd/hub/sessions")
resp = conn.getresponse()
if resp.status != 200:
raise RuntimeError(f"Failed to get sessions: {resp.status} {resp.reason}")
data = resp.read()
sessions_info = json.loads(data.decode("utf-8"))
sessions = sessions_info.get("value", [])
for session in sessions:
caps = session.get("capabilities", {})
session_udid = caps.get("udid") or caps.get("deviceUDID")
if session_udid == udid:
return session.get("id") or session.get("sessionId")
finally:
conn.close()
return None