1

我刚刚创建了登录屏幕项目。我为此编写了测试用例。我不知道如何在 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)

请指导我。

4

2 回答 2

1

它很简单,我在向 JUnit 提供输入时犯了一个小错误。我们必须给出

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

现在可以了。

于 2011-04-04T06:23:03.933 回答
0

笔记。我不是Java人,但是..

你的测试失败了,因为它失败了,你的代码没有像预期的那样运行。它说expected:<Karthika> but was:<>

所以你的用户界面中的字符串可能是null. 您将字符串Karthika放在 UI 中,然后您的测试期望两个字符串都为adithi,但它失败说它是空的。

  1. UI 中的某处文本变为空。
  2. 认为它应该assertEquals(actualvar, whatyouexpect);assertEquals(name, n1);
于 2011-03-26T07:26:49.373 回答