Как выполнять команды 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 ответ
Для установки пакета вы можете использовать
adb
вместоmonkeyrunner
:adb install -r 'myproject/bin/MyApplication.apk'
если вы пишете скрипт оболочки, вы можете использовать строковый синтаксис оболочки здесь, чтобы избежать отдельного файла со скриптом 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