нельзя использовать raw_input, если monkeyrunner включен в скрипт python

Я хочу ввести некоторые значения в свой скрипт Python. Часть моего кода:

import os,sys,subprocess,shlex,time
from com.android.monkeyrunner import MonkeyRunner
import  com.android.monkeyrunner.MonkeyDevice
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
user = raw_input("enter your username")
print user

Когда я выполняю код как «monkeyrunner camautoopen.py», я могу только ввести имя пользователя. Но я не могу его распечатать.

когда мой код:

import os,sys,subprocess,shlex,time
user = raw_input("enter your username")
print user

и я выполняю скрипт как python camautoopen.py, после чего получаю желаемый результат.


person Alan.G    schedule 25.09.2014    source источник
comment
Я хочу, чтобы имя пользователя было введено для скрипта, и я не хочу вводить имя пользователя для устройства.   -  person Alan.G    schedule 25.09.2014
comment
может быть создан какой-то файл, который регистрирует ваш стандартный вывод, или, может быть, какая-то опция в monkeyrunner   -  person hyades    schedule 25.09.2014
comment
если вы действительно хотите распечатать user, почему бы вам не открыть файл и не напечатать в него?   -  person hyades    schedule 25.09.2014
comment
дело не в том, что я хочу напечатать пользователя... это всего лишь один случай... я не могу выполнить какой-либо оператор, написанный ниже raw_input   -  person Alan.G    schedule 25.09.2014
comment
в другом случае я не могу сортировать коллекции импорта словаря dict = {'2014-09-16': 'bseid_580129', '2014-09-18': 'bseid_583368', '2014-09-17': 'bseid_582500', '2014- 23 сентября 2014 г.: bseid_564429, 14 сентября 2014 г.: bseid_557089, 15 сентября 2014 г.: bseid_579516, 20 сентября 2014 г.: bseid_585476, 9 сентября 2014 г. 24 ': 'bseid_565169', '2014-09-21': 'bseid_561715', '2014-09-22': 'bseid_563074', '2014-09-13': 'bseid_578927', '2014-09-19' : 'bseid_560756'} dict=collections.OrderedDict(sorted(dict.items())) print dict.items()[0][1] я могу сделать это на питоне (без бегуна обезьян), но не с ним   -  person Alan.G    schedule 25.09.2014
comment
Вы можете попробовать AndroidViewClient/culebra, который на 100% состоит из Python.   -  person Diego Torres Milano    schedule 25.09.2014


Ответы (3)


Вы используете Mac OS X? У меня была та же проблема, и я нашел решение здесь: https://code.google.com/p/android/issues/detail?id=56318

В основном мне нужно было заменить Jython на более новую версию. Надеюсь, это поможет!

person bwang88    schedule 11.10.2014

вы можете либо включить библиотеки обезьяны, либо написать свой собственный скрипт на java

import eu.fbk.se.androidmonkey.Monkey;

import android.app.Instrumentation;
import android.content.pm.PackageManager;
import android.test.ActivityInstrumentationTestCase2;
import android.view.Display;

public class MonkeyLoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity> {

private int NUM_EVENTS = 320;
public MonkeyLoginActivityTest() {
    super(LoginActivity.class);
    // TODO Auto-generated constructor stub
    }
     @Override
     protected void setUp() throws Exception {
             super.setUp();
             setActivityInitialTouchMode(false);

     }

     public void testMonkeyEvent() {
             Display display = getActivity().getWindowManager().getDefaultDisplay();
             Instrumentation inst = getInstrumentation();
             PackageManager pm = getActivity().getPackageManager();

             Monkey monkey = new Monkey(display,"com.wisemoo.tickleboards.dev.activities", inst, pm);



             // Generate and fire a random event. 
             for (int i = 0; i < NUM_EVENTS; i++) {
                 monkey.nextRandomEvent();
             }

     }

     @Override
     protected void tearDown() throws Exception {
             super.tearDown();
     }

    }
person Bhavana Johri    schedule 30.09.2014

Я знаю, что уже поздно, но это поможет другим бегунам-обезьянам raw_input() input() у меня тоже все висело, в итоге я создал http-сервер для общения с обезьяной, как описано в этой теме:

Вызовы устройств Android Monkey Runner зависают, но работают когда процесс убит

person Abdul.Moqueet    schedule 12.04.2021