проблемы с обезьяной - PullRequest
       3

проблемы с обезьяной

1 голос
/ 14 февраля 2012

Я работаю над внесением некоторых изменений в слой фреймворка Android и создаю свою собственную версию.Я работаю на основе froyo и пытаюсь использовать monkeyrunner для некоторого тестирования.Я извлек исходный код и могу собирать и запускать в эмуляторе, но когда я пытаюсь использовать скрипт monkeyrunner, у меня не получается заставить работать что-либо.Я построил код, используя ланч full-eng, и он отлично работает на устройстве.Я просто пытаюсь запустить простой сценарий, основанный на примере http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html, показанном ниже, с добавлением оператора печати, просто чтобы посмотреть, смогу ли я что-нибудь запустить.

/# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

/# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()

print "Hello World!"

Когдаследующая строка в скрипте я получаю сообщение об ошибке следующим образом.

из com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

Traceback (последний вызов был последним): File "../../MRTesting/MyTest.py, строка 4, из com.android.monkeyrunner import MonkeyRunner, MonkeyDevice ImportError: невозможно импортировать имя MonkeyDevice

Так что, если я удаляю MonkeyDevice из импорта, как показано нижеЯ получаю другую ошибку при вызове waitForConnection ()

из com.android.monkeyrunner import MonkeyRunner

Traceback (последний вызов был последним): Файл "../ ../MRTesting/MyTest.py, строка 6, в device = MonkeyRunner.waitForConnection () AttributeError: тип объекта 'com.android.monkeyrunner.MonkeyRunner' не имеет атрибута 'waitForConnection'

Я попытался изменить вызов, чтобы иметь некоторые аргументы, как указано в документации, но я все еще получаю ту же ошибку.Второй аргумент совпадает со значением, возвращаемым вызовом устройствам adb.

device = MonkeyRunner.waitForConnection(5, 'emulator-5554')

Я немного покопался, и один человек сказал, что шебанг должен быть в начале файла следующим образом с путемизмененный, чтобы избежать ввода информации, я бы предпочел не делиться.

/#! /home/<path>/monkeyrunner

Я не мог понять, как это будет отличаться от того, что я вызываю monkeyrunner непосредственно из командной строки, но я попробовал это, и не повезло.Я нигде не установил sdk в моей системе, так как он включен в дерево сборки, но мне кажется, что инструмент monkeyrunner может не найти его по мере необходимости, но я не могу найти никаких указаний на то, как это исправить.Я выполняю следующие команды, когда собираю свою систему из моего каталога сборки в корневом каталоге.

. build/envsetup.sh
setpaths
lunch full-eng
make -j16

У кого-нибудь есть какие-либо мысли по этому поводу?

...