Недавно я начал использовать MonkeyRunner для тестирования пользовательского интерфейса своего приложения для Android (я также использую Espresso, но хотел поиграть с MonkeyRunner). Проблема, с которой я сталкиваюсь, заключается в том, что я не могу ввести текст в поля EditText с помощью скрипта автоматизации.
Скрипт отлично перемещается по моему приложению, но, похоже, он не вводит никакого текста при вызове команды MonkeyRunner.type()
.
Пожалуйста, найдите мой сценарий ниже.
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
from com.android.monkeyrunner.easy import EasyMonkeyDevice, By
import commands
import sys
import os
# starting the application and test
print "Starting the monkeyrunner script"
# connection to the current device, and return a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
easy_device = EasyMonkeyDevice(device)
apk_path = device.shell('pm path com.mysample
if apk_path.startswith('package:'):
print "application installed."
else:
print "not installed, install APK"
device.installPackage('/MySample/MySample.apk')')
package ="com.mysample"
activity = ".SampleActivity"
print "Package: " + package + "Activity: " + activity
print "starting application...."
device.startActivity(component=package + '/' + activity)
print "...component started"
device.touch(205,361, "DOWN_AND_UP")
device.type("This is sample text")
MonkeyRunner.sleep(1)
result = device.takeSnapshot()
result.writeToFile("images/testimage.png",'png')
Как видно из скрипта выше, текст This is sample text
должен быть помещен в поле EditText. И эмулятор, и снятый снимок экрана не отображают текст в текстовом поле.
Я пропустил шаг или просто делаю что-то неправильно?
Любая помощь будет принята с благодарностью!