Скрипты для бегунов обезьян

Я пытаюсь выполнить образец программы python через командную строку обезьяны runner, и она выдает ошибку

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 поэтому любой может помочь мне решить эту проблему.

Ответ 1

scriptfile должен быть полным именем файла пути попробуйте ниже monkeyrunner c:\test_script\first.py

Ответ 2

попробуйте использовать что-то вроде

...\tools>monkeyrunner -v ALL first.py

где first.py был моим образцом python script, который я скопировал в папку инструментов SDK для Android (место, где monkeyrunner.bat)

Ответ 3

Под всеми семействами unix/linux OS может использоваться синтаксис sha bang.

Отредактируйте первую строку вашего script с помощью результатов следующей команды:

which monkeyrunner

например, если monkeyrunner (обычно предоставляется с android sdk) был установлен в /usr/local/bin/sdk write:

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

или даже использовать "env"

#!/usr/bin/env monkeyrunner

затем установите для вас script файл как исполняемый

chmod +x <script>

Теперь вы можете запустить script из оболочки.

Ответ 4

Похоже, нет смысла переключать рабочий каталог в папку Android SDK, но просто для получения некоторого пути относительных ссылок для себя. Это означает, что вам нужно указать полный путь для вашего файла script и файлов изображений PNG, которые вы хотите сохранить или сравнить с ними.

Лучше всего изменить несколько строк в "monkeyrunner.bat" в папке SDK, как показано ниже. Это будет использовать ваш текущий путь как рабочий каталог, поэтому нет необходимости использовать полное имя файла пути.

    rem don't modify the caller 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% %*

Ответ 5

Я встретил то же, что и вы, я решил с помощью команды "monkeyrunner" под инструментами, а ваш script файл должен быть полным именем пути. Похоже, что каталог "tools" является основным каталогом MonnkeyRunner. Я в депрессии, что я не могу запускать свои файлы script с помощью pydev IDE напрямую.

Ответ 6

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