Как выполнять команды 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' в оболочке?

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
Другие вопросы по тегам