android monkey runner脚本

时间:2011-09-26 11:45:46

标签: android monkeyrunner monkey

我尝试通过monkey runner命令提示符执行示例python程序,并且它正在抛出错误

Can't open specified script file
Usage: monkeyrunner [options] SCRIPT_FILE

    -s      MonkeyServer IP Address.
    -p      MonkeyServer TCP Port.
    -v      MonkeyServer Logging level (ALL, FINEST, FINER, FINE, CONFIG, INFO,
WARNING, SEVERE, OFF)

线程“main”java.lang.NullPointerException中的异常 所以任何人都可以指导我如何解决这个问题

6 个答案:

答案 0 :(得分:17)

scriptfile应该是完整路径文件名 试试下面 monkeyrunner c:\test_script\first.py

答案 1 :(得分:1)

尝试使用类似

的内容
...\tools>monkeyrunner -v ALL first.py

其中first.py是我的示例python脚本,我将其复制到android SDK的工具文件夹(monkeyrunner.bat所在的位置)

答案 2 :(得分:1)

在所有unix / linux系列OS下,可以使用sha bang语法。

使用以下命令的结果编辑脚本的第一行:

which monkeyrunner

例如,如果monkeyrunner(通常提供android sdk)已安装在/ usr / local / bin / sdk下写:

#!/usr/local/bin/sdk/tools/monkeyrunner

甚至使用“env”

#!/usr/bin/env monkeyrunner

然后将脚本文件设置为可执行文件

chmod +x <script>

您现在可以从shell启动脚本。

答案 3 :(得分:0)

将工作目录切换到Android SDK文件夹似乎没有意义,只是为了获取自己的一些相对引用路径。这意味着您必须指定脚本文件的完整路径以及要保存或比较的PNG图像文件。

更好的方法是修改&#34; monkeyrunner.bat&#34;中的几行。在您的SDK文件夹下,如下所示。这将使用您当前的路径作为工作目录,因此,无需使用完整路径文件名。

    rem don't modify the caller's environment
setlocal

rem Set up prog to be the path of this script, including following symlinks,
rem and set up progdir to be the fully-qualified pathname of its directory.
set prog=%~f0

rem Change current directory and drive to where the script is, to avoid
rem issues with directories containing whitespaces.
rem cd /d %~dp0

rem Check we have a valid Java.exe in the path.
set java_exe=
call %~sdp0\lib\find_java.bat
if not defined java_exe goto :EOF

set jarfile=monkeyrunner.jar
set frameworkdir=
set libdir=


if exist %frameworkdir%%jarfile% goto JarFileOk
    set frameworkdir=%~sdp0\lib\

if exist %frameworkdir%%jarfile% goto JarFileOk
    set frameworkdir=%~sdp0\..\framework\

:JarFileOk

set jarpath=%frameworkdir%%jarfile%

if not defined ANDROID_SWT goto QueryArch
    set swt_path=%ANDROID_SWT%
    goto SwtDone

:QueryArch

    for /f %%a in ('%java_exe% -jar %frameworkdir%archquery.jar') do set swt_path=%frameworkdir%%%a

:SwtDone

if exist %swt_path% goto SetPath
    echo SWT folder '%swt_path%' does not exist.
    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
    exit /B

:SetPath

call %java_exe% -Xmx512m -Djava.ext.dirs=%frameworkdir%;%swt_path% -Dcom.android.monkeyrunner.bindir=%frameworkdir%\..\..\platform-tools\ -jar %jarpath% %*

答案 4 :(得分:0)

我遇到了和你一样的事情,我在工具下使用“monkeyrunner”命令解决了,你的脚本文件应该是一个完整的路径名。看起来目录“tools”是MonnkeyRunner的主目录。我很郁闷,我不能直接通过pydev IDE运行我的脚本文件。

答案 5 :(得分:0)

monkeyrunner.bat cygpath -w $(pwd)/monkey.py