python 多线程,多进程实现UIautomator2模拟点击同时监测信号

使用Uiautomator2模拟点击等操作,同时需要检测车载发送出去的can信号,can信号是发送一针就恢复到初始状态0.0,所以需要多进程或者多线程,一个执行监测can信号,一个执行模拟点击

from Tsp import PanGu
from MyCan.Canoe import CANoe
import uiautomator2 as u2
import os, time
import msvcrt
import threading
from multiprocessing import Process

def get():
app = CANoe() # 定义CANoe为app
time.sleep(5)
app.start_Measurement()
while not msvcrt.kbhit():
获取信号值
EngineSpeed = app.get_SigVal(channel_num=1, msg_name="CDC_HU_23", sig_name="WinOpenClsReq", bus_type="CAN")
print(EngineSpeed)
if EngineSpeed > 0.0:
return EngineSpeed

def Click():
d = u2.connect()
d(resourceId="com.nio.settings:id/checkedMemory").long_click(duration=1.0, timeout=5.0)

if name == 'main':
th = Process(target=get)
th1 = Process(target=Click)

th.start()
th.join(timeout=5.0)
th1.start()

目前尝试结果是只有 监测can网络的代码执行了,模拟用户点击的代码没有执行

监测can网络的代码执行,同时模拟用户点击的代码执行

参考一下: