Monkeyrunner不支持信号。西加尔姆



Monkeyrunner 不时挂起。
我正在使用来自网络的以下代码。(对不起,我忘记了来源。
此代码用于检测"猴子挂起问题"并重新连接。

class Timeout():
    """Timeout class using ALARM signal."""
    class Timeout(Exception):
        pass
    def __init__(self, sec):
        self.sec = sec
    def __enter__(self):
        signal.signal(signal.SIGALRM, self.raise_timeout)
        signal.alarm(self.sec)
    def __exit__(self, *args):
        signal.alarm(0)    # disable alarm
    def raise_timeout(self, *args):
        raise Timeout.Timeout()
def snapshot():
    while (True):
        try:
            with Timeout(2):
                return(mdevice().takeSnapshot())
        except Timeout.Timeout:
            print "========================= snapshot timeout ==============="
            mdevice(1)

但是,报告以下错误:

  File ".libmonkeySetting.py", line 30, in __enter__
    signal.signal(signal.SIGALRM, self.raise_timeout)
AttributeError: 'module' object has no attribute 'SIGALRM'

如何解决这个问题?
还是有没有其他方法可以解决"猴子挂问题"?

首先,SIGALRM 不是在 Windows 上实现的:

在 Windows 上,signal() 只能使用 SIGABRT、SIGFPE、SIGILL、 SIGINT,SIGSEGV或SIGTERM。在任何其他情况下都会引发值错误 箱。

另一方面,你应该尝试AndroidViewClient/culebra,我希望你能解决挂起问题,根本不需要SIGALRM。

相关内容

  • 没有找到相关文章

最新更新