не може да използва 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
може да има създаден файл, който регистрира вашия stdout, или може би някаква опция в 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- 09-23': 'bseid_564429', '2014-09-14': 'bseid_557089', '2014-09-15': 'bseid_579516', '2014-09-20': 'bseid_585476', '2014-09- 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] мога да направя това в python (без monkey runner), но не и с него   -  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

можете или да включите библиотеките на monkey и да напишете скрипта сами в 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

Знам, че е късно, но ще помогне на други monkey runner raw_input() input() всички висяха и за мен, накрая направих http сървър, за да говоря с monkey, както е описано в тази тема:

Обажданията на Android Monkey Runner устройство висят, но работят когато процесът е убит

person Abdul.Moqueet    schedule 12.04.2021