我刚刚开始使用Robotium,编写我的第一个测试,并且我得到了这个奇怪的错误:
junit.framework.AssertionFailedError: 2131165500 EditTexts are not found!
这是我的测试用例
public class TestRegistrationActivity extends ActivityInstrumentationTestCase2<RegistrationActivity>{
private Solo solo;
public TestRegistrationActivity() {
super(RegistrationActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
@UiThreadTest
public void testSomeStuff(){
for (View v : solo.getCurrentViews()) {
Log.d(v.getClass().getSimpleName()+": "+v.getId());
}
solo.getEditText(R.id.txtCountryCode);
}
}
这是日志:
03-13 17:06:18.318: D/DEBUG(7907): EditText: 2131165500
03-13 17:06:18.322: D/DEBUG(7907): PhoneEditText: 2131165501
如你所见:
solo.getCurrentViews()
确实识别出身份2131165500
的视图存在。 solo.getEditText(R.id.txtCountryCode)
行始终失败。可能出现什么问题?
答案 0 :(得分:2)
固定。
问题在于我认为solo.getEditText(int)
将View
id作为参数。取而代之的是视图的索引。