как выполнять команды monkeyrunner в оболочке (терминал)

Когда я запускаю свой скрипт из оболочки, я делаю что-то вроде этого

monkeyrunner myScriptFile

а потом

в myScriptFile у меня есть такой контент

    from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
    device = MonkeyRunner.waitForConnection()
    device.installPackage('myproject/bin/MyApplication.apk')
.....

и все работает нормально, но хочется сделать что-то более навороченное :), хочу писать все из терминала(шелл)

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

или другими словами, возможно ли выполнить команду «from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice» в оболочке?


person Lukap    schedule 21.12.2011    source источник


Ответы (1)


  1. Для установки пакета вы можете использовать adb вместо monkeyrunner:

    adb install -r 'myproject/bin/MyApplication.apk'

  2. если вы пишете сценарий оболочки, вы можете использовать здесь строковый синтаксис оболочки, чтобы избежать отдельного файла со сценарием monkeyrunner:

#!/bin/bash

./monkeyrunner <<EOL
# 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()

# Takes a screenshot
result = device.takeSnapshot()

# Writes the screenshot to a file
result.writeToFile('1.png','png')
EOL
person Andrey Starodubtsev    schedule 23.02.2012