Как правильно используется clickView? - PullRequest
2 голосов
/ 14 декабря 2010

Я пытаюсь написать простое тестовое приложение для запуска в JUnit. У меня были проблемы с получением ClickView, чтобы щелкнуть на правильном представлении. Ниже приведен пример кода, который можно использовать в примере приложения SkeletonActivity, поставляемого с SDK.

    public class SkeletonInstrumentation extends ActivityInstrumentationTestCase2<Activity>{

 private Activity act;
 private  Button bClear;
 private  Button bBack;
 private  EditText eMain;

 public SkeletonInstrumentation(){
  super("com.example.android.skeletonapp", Activity.class);

 }

 public void setUp() {

  String app = this.getInstrumentation().getTargetContext().getPackageName();  
  this.setActivityInitialTouchMode(true);
  act = this.launchActivity(app, SkeletonActivity.class, Bundle.EMPTY);

  bClear = (Button) act.findViewById(R.id.clear);
  bBack = (Button) act.findViewById(R.id.back);
  eMain = (EditText) act.findViewById(R.id.editor);


 }

 public void testClick() 
 {

  TouchUtils.clickView(this, bClear);


 }

 public void testSendKeys() 
 { 

  act.runOnUiThread(
    new Runnable(){
     public void run(){
      bClear.clearFocus();
      eMain.requestFocus();
     }
    }
   );

  this.sendKeys("A B C D E F G ENTER");
 }

}

testClick запускается, но нажимает на основное представление EditText, которое имеет фокус, когда действие начинается и заканчивается, вызывая экранную клавиатуру Я хочу, чтобы он нажал кнопку «Очистить» под EditText. Может кто-нибудь сказать мне, что здесь не так?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2013

Добавление минимального и максимального целевого SDK в AndroidManifest.xml работало для меня; Я получил идею от этого ответа . В тестируемом проекте (не тестовом проекте) я добавил следующую строку в AndroidManifest.xml:

<uses-sdk android:targetSdkVersion="17" android:minSdkVersion="17"/>

и все мои применения TouchUtils снова начали работать согласованно.

У меня была такая же проблема в этом вопросе , и хотя я смог найти обходной путь, но он стал действительно громоздким, поэтому я потратил больше времени, чтобы разобраться с ним.

0 голосов
/ 14 декабря 2010

Использование clickView здесь правильно. Проблема была в AndroidManifest.xml. Min и Target SDK должны быть установлены для правильной работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...