【问题标题】:Not able to run AndroidViewClient无法运行 AndroidViewClient
【发布时间】:2014-06-27 03:52:14
【问题描述】:

我在不使用 Source 的情况下获取当前屏幕的所有 Id。

https://stackoverflow.com/questions/23333936/android-get-id-of-the-each-widget-in-the-screen-without-source

所以我用的是Androidviewclient

按照以下步骤进行

1) 下载Androidviewclient-master.zip

2) 解压并编辑 AndroidViewClient-master\AndroidViewClient\tools 中源位置的转储文件

3) 设置环境变量 ANDROID_VIEW_CLIENT_HOME 和 PYTHONPATH

4) 当我在 cmd 中执行如下操作时

C:\Users\Lahir\Desktop\Automation\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk\tools>monkeyrunner.bat C:\AndroidViewClient-master\AndroidViewClient\工具\dump.py

得到如下错误:-

无法打开指定的脚本文件 用法:monkeyrunner [选项] SCRIPT_FILE -s MonkeyServer IP 地址。 -p MonkeyServer TCP 端口。 -v MonkeyServer 日志记录级别(ALL、FINEST、FINER、FINE、CONFIG、INFO、WARNING、SEVERE、OFF)

如果我像下面这样作为转储运行,也可以代替 dump.py

C:\Users\Lahir\Desktop\Automation\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk\tools>monkeyrunner.bat C:\AndroidViewClient-master\AndroidViewClient\工具\转储

我收到以下错误

140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] 脚本因异常而终止 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions]Traceback(最近一次通话最后): 文件“C:\AndroidViewClient-master\AndroidViewClient\tools\dump”,第 129 行,在 vc = ViewClient(*ViewClient.connectToDeviceOrExit(**kwargs1), **kwargs2) 文件“C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\viewclient.py”,第 1435 行,在 connectToDeviceOrExit ViewClient.setAlarm(超时+5) 文件“C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\viewclient.py”,第 1395 行,在 setAlarm 信号.警报(超时) 文件“C:\Users\Lahir\Desktop\Automation\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk\tools\lib\jython-standalone-2.5.3.jar\Lib \signal.py",第 222 行,警报中

NotImplementedError:此平台上未实现警报

140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyException.doRaise(PyException.java:219) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.makeException(Py.java:1239) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.makeException(Py.java:1243) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.makeException(Py.java:1247) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at signal$py.alarm$14(C:\Users\Lahir\Desktop\Automation\adt-bundle-windows-x86_64-20131030\adt -bundle-windows-x86_64-20131030\sdk\tools\lib\jython-standalone-2.5.3.jar\Lib\s 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at signal$py.call_function(C:\Users\Lahir\Desktop\Automation\adt-bundle-windows-x86_64-20131030\adt- bundle-windows-x86_64-20131030\sdk\tools\lib\jython-standalone-2.5.3.jar\ 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyTableCode.call(PyTableCode.java:165) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyBaseCode.call(PyBaseCode.java:134) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyFunction.call(PyFunction.java:317) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] 在 com.dtmilano.android.viewclient$py.setAlarm$71(C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android \viewclient.py:1395) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.dtmilano.android.viewclient$py.call_function(C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\视图客户端.py) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyTableCode.call(PyTableCode.java:165) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyBaseCode.call(PyBaseCode.java:134) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyFunction.call(PyFunction.java:317) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.dtmilano.android.viewclient$py.connectToDeviceOrExit$72(C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android \viewclient.py:1463) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.dtmilano.android.viewclient$py.call_function(C:\AndroidViewClient-master\AndroidViewClient\src\com\dtmilano\android\视图客户端.py) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyTableCode.call(PyTableCode.java:165) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] 在 org.python.core.PyBaseCode.call(PyBaseCode.java:301) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyFunction.function___call__(PyFunction.java:376) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyFunction.call(PyFunction.java:371) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyFunction.call(PyFunction.java:366) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyObject._callextra(PyObject.java:527) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.pycode._pyx0.f$0(C:\AndroidViewClient-master\AndroidViewClient\tools\dump:131) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.pycode._pyx0.call_function(C:\AndroidViewClient-master\AndroidViewClient\tools\dump) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.PyTableCode.call(PyTableCode.java:165) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] 在 org.python.core.PyCode.call(PyCode.java:18) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.Py.runCode(Py.java:1275) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.core.builtin.execfile_flags(builtin.java:522 ) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:225) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] 在 com.android.monkeyrunner.ScriptRunner.run(ScriptRunner.java:116) 140509 17:19:12.884:S [主线程] [com.android.monkeyrunner.MonkeyRunnerOptions] 在 com.android.monkeyrunner.MonkeyRunnerStarter.run(MonkeyRunnerStarter.java:77) 140509 17:19:12.884:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] at com.android.monkeyrunner.MonkeyRunnerStarter.main(MonkeyRunnerStarter.java:189)

不知道如何获取?需要帮助请指导我。

【问题讨论】:

    标签: androidviewclient


    【解决方案1】:

    我假设您从 github 下载了最新版本(即 AndroidViewClient 5.4.7)。 在这种情况下,您不需要monkeyrunner,只需python

    我认为

    python C:\AndroidViewClient-master\AndroidViewClient\tools\dump.py
    

    应该可以工作(抱歉,我猜是因为我不使用 Windows)。

    您也可以尝试easy_install 并自动使 AndroidViewClient 保持最新。 检查How to use Python's "easy_install" on Windows ... it's not so easy 以获得一些提示。

    【讨论】:

    • 已经安装了easy_install。关于我下载的版本github.com/dtmilano/AndroidViewClient。在转储文件版本中显示为 version = '5.4.5'.
    • 嗨,谢谢它按照你说的运行,而不是monkeyrunner,只使用我能得到的python。谢谢 :)。但是运行后的一个问题我得到以下输出 C:\Python27>python C:\AndroidViewClient-master\AndroidViewClient\tools\dump android.widget.TextView Hello ALLLL android.widget.Button com.example.pageindicator:id/gotoSurface转到 Surface 我怀疑为什么我无法获得 Textview 的 ID?我也会得到 Testview 的 ID
    • 问另一个 SO 问题以保持井井有条
    • @dtmilano 有一个AndroidViewClient 5.4.7???我在 github 上只能看到 5.1.1。
    • @dtmilano 哇哦。我只能通过搜索找到旧版本。但是我用easy_install 升级了,现在我得到了7.0.2。是否有一个聚会,每个人都在谈论最新的东西并有最新的例子或一些 API?我认为 github 现在已经过时了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2014-11-04
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多