2011-03-26 3 views
1

Я только что создал проект экрана входа в систему. Я написал тестовый файл для этого. Я не знаю, как ввести текст в текстовое поле в тестовом примере JUnit. я только что сделал, как этот результатКак проверить значение текстового поля в Android JUnit test

  public void testlogin() { 
    final String n1 = "adithi"; 
    final String p1 = "adithi"; 
    String name, pass; 
    editUname.clearComposingText(); 
    editPswd.clearComposingText(); 
    TouchUtils.tapView(this, editUname); 
    sendKeys("adithi"); 
    TouchUtils.tapView(this, editPswd); 
    sendKeys("adithi"); 

    activity.runOnUiThread(new Runnable() { 

      public void run() { 


      signinbtn.performClick(); 
      } 
     }); 

     name = editUname.getText().toString(); 

     pass = editPswd.getText().toString(); 

    Log.e("name",name); 
    Log.e("Password",pass); 
    assertEquals(n1, name); 
    assertEquals(p1, pass); 
} 

является тестовый

junit.framework.ComparisonFailure: expected:<adithi> but was:<> 
at com.firstpageTest.Test.testlogin(Test.java:126) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) 
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) 
atandroid.test.ActivityInstrumentationTestCase2.runTest 
    (ActivityInstrumentationTestCase2.ja 
atandroid.test.ActivityInstrumentationTestCase2.runTest 
    (ActivityInstrumentationTestCase2.java:186) 
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 
    at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) 
    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) 

, пожалуйста, руководство меня.

+0

jeez! Вы отредактировали свой вопрос и изменили свой код! Я могу sorta подтвердить, что текст UI идет нуль где-то после 'performClick()' – gideon

ответ

1

Св просто один, и я сделал небольшую ошибку в придании входа в JUnit.we должен дать как

 sendKeys("A D I T H I"); 

Он работает сейчас ,

0

Примечание. Я не человек Java, но ..

Ваш тест не удается, потому что хорошо его упущение, ваш код не работает, как вы expected.It говорит expected:<Karthika> but was:<>

Так строка из вашего UI, вероятно, null , Вы помещаете строку Karthika в пользовательский интерфейс, тогда ваш тест ожидает, что обе строки будут adithi, но это не соответствует утверждению, что это значение равно null.

  1. Где-то текст в пользовательском интерфейсе не имеет значения.
  2. Я думаю это должно быть assertEquals(actualvar, whatyouexpect); как assertEquals(name, n1);
+0

Я проверил его, это assertEquals (String expected, String actual); – adithi

+0

Его никуда не годится. Когда/Как работает «testlogin»? И что делает 'performclick()' do? – gideon

+0

Я думаю, что sendkeys ("") - это не метод ввода значения textbox. Но я не могу угадать метод, чтобы дать это. – adithi

Смежные вопросы