Ответ 1
scriptfile должен быть полным именем файла пути
попробуйте ниже
monkeyrunner c:\test_script\first.py
Я пытаюсь выполнить образец программы 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 поэтому любой может помочь мне решить эту проблему.
scriptfile должен быть полным именем файла пути
попробуйте ниже
monkeyrunner c:\test_script\first.py
попробуйте использовать что-то вроде
...\tools>monkeyrunner -v ALL first.py
где first.py
был моим образцом python script, который я скопировал в папку инструментов SDK для Android (место, где monkeyrunner.bat
)
Под всеми семействами 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 из оболочки.
Похоже, нет смысла переключать рабочий каталог в папку 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% %*
Я встретил то же, что и вы, я решил с помощью команды "monkeyrunner" под инструментами, а ваш script файл должен быть полным именем пути. Похоже, что каталог "tools" является основным каталогом MonnkeyRunner. Я в депрессии, что я не могу запускать свои файлы script с помощью pydev IDE напрямую.
monkeyrunner.bat cygpath -w $(pwd)/monkey.py