2011-03-26 73 views
1

我刚刚创建了登录屏幕project.I为此写了测试用例。我不知道如何在JUnit测试用例的文本框中输入文本。我只是做了这样的如何在Android JUnit测试中测试文本框的值

  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 2011-03-26 07:27:48

回答

1

它的一个简单的,我已经做了在给输入JUnit.we一个小错误必须奉献

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

它现在。

0

注意。我不是一个Java的人,但..

你的测试失败,因为它的好失败,你的代码没有运行为 expected.It说expected:<Karthika> but was:<>

所以从你的UI字符串可能是null 。您将字符串Karthika置于用户界面中,那么您的测试期望这两个字符串都是adithi,但它失败,说它为空。

  1. 某处在你的UI中的文本变为零。
  2. 认为应该assertEquals(actualvar, whatyouexpect);assertEquals(name, n1);
+0

之后某处去null我检查了它,它是assertEquals(String expected,String actual); – adithi 2011-03-26 08:55:50

+0

它在空白处或空白处。何时/如何运行testlogin? 'performclick()'做了什么? – gideon 2011-03-26 09:03:19

+0

我认为sendkeys(“”)不是输入文本框值的方法,但我不能猜测该方法。 – adithi 2011-03-26 09:05:34