2013-04-10 4 views
3

Я новичок в разработке и тестировании Android, в настоящее время я тренируюсь, чтобы сделать тестовые скрипты под Python, а затем использовать monkeyrunner для их запуска.getProperty & getSystemProperty в MonkeyRunner return None

Как указано в официальной документации MonkeyDevice, [getProperty()] [1] и [getSystemProperty()] [2] должны вернуть вам значение, зависящее от имени переменной свойства, которое вы передаете для них. Каждый раз, когда я получал только значение «Нет». Любая идея или трюк ?!

Простой код, я использую:

from com.android.monkeyrunner import MonkeyDevice,MonkeyRunner 

device = MonkeyRunner.waitForConnection() 

print device.getSystemProperty('version.sdk') 

С уважением ,,,

+0

Хороший, простой краткий вопрос, который поможет прояснить несколько недостаточную и неинтуитивно понятную документацию. В документации о объектах класса monkeyrunner есть некоторые другие странности, которые могут вызвать некоторое разочарование - см. Мой комментарий к ответу ниже. – Jim

ответ

3

Вы должны указать группу свойств. Например:

print device.getSystemProperty('build.version.sdk') 
+0

О, спасибо большое, сейчас он работает. –

+1

Хороший, полезный и краткий ответ. Я получил getProperty ('group.property'), чтобы вернуть запрашиваемое свойство. У меня никогда не было getSystemProperty (свойство String), возвращающего ничего, кроме None. В некоторых документах на Android говорится, что они являются синонимами, но, похоже, они не выглядят. Другая документация говорит, что getSystemProperty предоставляется разработчикам платформы, которые, как я полагаю, подразумевают ОС Android, а не приложения. Кроме того, build.ID и build.CPU_ABI не работают, тогда как build.id и build.cpu_abi делают. Надеюсь, это поможет потенциально разочарованным разработчикам, читающим несколько недостающую документацию. – Jim

+0

Я указал группу свойств и также получил None. Я не знаю, что произошло – Kross