【问题标题】:Monkeyrunner error for some real devices某些真实设备的 Monkeyrunner 错误
【发布时间】:2013-08-28 22:29:45
【问题描述】:

代码很简单

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
device = MonkeyRunner.waitForConnection()
device.touch(84, 712, "DOWN_AND_UP")

可以在模拟器和我的 SE Xperia Ray 上运行,

但是当我在另一台设备上运行时,市场上不卖。

错误消息弹出。

运行一些命令是可以的,比如拿“snapShot”

但对于“触摸”“按下”,总是失败。

对于某些设备来说,是不是一些 monkeyruuner 错误,它只是不起作用

或者问题出在设备上,可能是修改后的设备源代码有问题。

我在网上搜索过,找不到解决办法,

我需要决定是否在设备上使用 monkeyruuner,

所以,我需要一些帮助。

对不起我的英语:)

错误日志是

121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] Error se
nding touch event: 84 712 DOWN_AND_UP
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice]java.net.
SocketException: Software caused connection abort: socket write error
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
net.SocketOutputStream.socketWrite0(Native Method)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
net.SocketOutputStream.write(SocketOutputStream.java:136)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.n
io.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.n
io.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.n
io.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.n
io.cs.StreamEncoder.flush(StreamEncoder.java:122)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
io.BufferedWriter.flush(BufferedWriter.java:236)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.chimpchat.ChimpManager.sendMonkeyEventAndGetResponse(ChimpManager.java:18
6)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.chimpchat.ChimpManager.sendMonkeyEvent(ChimpManager.java:234)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.chimpchat.ChimpManager.tap(ChimpManager.java:329)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.chimpchat.adb.AdbChimpDevice.touch(AdbChimpDevice.java:361)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.monkeyrunner.MonkeyDevice.touch(MonkeyDevice.java:136)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.r
eflect.NativeMethodAccessorImpl.invoke0(Native Method)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.r
eflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at sun.r
eflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at java.
lang.reflect.Method.invoke(Method.java:597)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyObject.__call__(PyObject.java:355)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyMethod.__call__(PyMethod.java:215)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyMethod.instancemethod___call__(PyMethod.java:221)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyMethod.__call__(PyMethod.java:206)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyObject.__call__(PyObject.java:432)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyObject.__call__(PyObject.java:436)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.pycode._pyx0.f$0(d:\1234.py:18)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.pycode._pyx0.call_function(d:\1234.py)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyTableCode.call(PyTableCode.java:165)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.PyCode.call(PyCode.java:18)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.Py.runCode(Py.java:1197)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.core.__builtin__.execfile_flags(__builtin__.java:538)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at org.p
ython.util.PythonInterpreter.execfile(PythonInterpreter.java:156)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.java:77)
121129 10:56:42.227:S [main] [com.android.chimpchat.adb.AdbChimpDevice] at com.a
ndroid.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.java:189)

【问题讨论】:

  • 设备和固件是否通过了 CTS 测试?
  • 嗨 dtmilano,是的,设备和固件通过了 CTS 测试

标签: android monkeyrunner


【解决方案1】:

问题可能在于获取连接

device = MonkeyRunner.waitForConnection()

不幸的是设备永远不是None,所以要验证它,你可以采用与ViewClient相同的方法,使用这个sn-p

device = MonkeyRunner.waitForConnection()
try:
        device.wake()
except java.lang.NullPointerException, e:
        print >> sys.stderr, "%s: ERROR: Couldn't connect to %s: %s" % (progname, serialno, e)
        sys.exit(3)

【讨论】:

  • 嗨,运行我得到的代码后,121206 14:36:20.494:S [main] [com.android.chimpchat.adb.AdbChimpDevice] 无法唤醒设备(太困了?)121206 14:36:20.494:S [main] [com.android.chimpchat.adb.AdbChimpDevice]java.net.SocketException:软件导致连接中止:套接字写入错误......并且,除了不打印消息
  • 找到根本原因可能需要调查您的设备和固件。正如您已经提到的,它不会发生在模拟器或 Sony Xperia 上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多