如何在Android JUnit测试中测试文本框的值
问题描述:
我刚刚创建了登录屏幕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)
请指导我。
答
它的一个简单的,我已经做了在给输入JUnit.we一个小错误必须奉献
sendKeys("A D I T H I");
它现在。
答
注意。我不是一个Java的人,但..
你的测试失败,因为它的好失败,你的代码没有运行为你 expected.It说expected:<Karthika> but was:<>
所以从你的UI字符串可能是null
。您将字符串Karthika
置于用户界面中,那么您的测试期望这两个字符串都是adithi
,但它失败,说它为空。
- 某处在你的UI中的文本变为零。
- 我认为应该
assertEquals(actualvar, whatyouexpect);
像assertEquals(name, n1);
jeez!您已编辑您的问题并更改了您的代码!我可以sorta确认UI文本在你performClick()' – gideon 2011-03-26 07:27:48