def adbshell(command, serial=None, adbpath='adb'):
args = [adbpath]
if serial is not None:
args.extend(['-s', serial])
args.extend(['shell', command])
return subprocess.check_output(args)
def pmpath(serial=None, adbpath='adb'):
return adbshell('am instrument -e class............', serial=serial, adbpath=adbpath)
我必须运行这个测试一个特定的时间段,然后退出如果它不工作。如何提供超时?在
取决于您正在运行的Python版本。
Python 3.3以后:
^{cd1>}提供^{cd2>}参数。检查签名here
Python 3.3以下:
您可以使用^{cd3>}模块。比如:
^{pr2}$注意-我没有用^{{cd3>}和^{{cd5>}测试上述代码。通常我使用^{cd6>},它提供了更多的灵活性,并且几乎处理所有的场景。检查doc
Popen
结构提供了更大的灵活性,因为它可以用来检查subprocess
调用的退出状态。在如果进程尚未终止,}。因此,调用子进程
Popen.poll
返回{sleep
,以获得所需的超时时间。在考虑一个简单的
test.py
,它是从主程序调用的子进程。在{{cd6}是从cd6}调用的
^{pr2}$time.sleep(2)
提供2秒的超时时间,以便程序可以执行异常。 使用
Popen.poll
检查进程的退出状态如果
None
,进程尚未终止,则终止进程。在相关问题 更多 >
编程相关推荐