2014-03-13 49 views
1

我剛開始接觸Robotium,寫我的第一次測試,我得到這個奇怪的錯誤:Robotium入門。 EditText上沒有發現

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 

正如你可以看到:

  1. solo.getCurrentViews()確實認識到存在編號爲2131165500的視圖。
  2. solo.getEditText(R.id.txtCountryCode)行總是失敗。

什麼可能是錯的?

回答

2

固定。

問題是我以爲solo.getEditText(int)View id爲參數。相反,它採用了視圖的索引。