2013-10-16 50 views
0

我正在編寫使用Robotium的測試用例,用於具有多個活動的我的Android應用程序。該應用在UI中實現Drawer。但是當獨奏打開抽屜時,它會給出例外Called From Wrong Thread Exception。當單擊ActionBar Home時加載抽屜。從Robotium Testcase中的錯誤線程異常中調用

public void test4Drawer() 
{ 
    solo1.clickOnActionBarHomeButton(); 
    Boolean actual=solo1.searchText("About"); 
    Boolean expected =true; 
    assertEquals("Drawer Not Loaded",expected,actual); 
} 
+1

與您的問題無關。儘可能使用原始類型。在你的情況下,最好使用布爾值而不是布爾值 – Blackbelt

回答

1

在您設置():

mActivity = getActivity(); 

而且在你測試的情況下補充一點:

mActivity.runOnUiThread(new Runnable() { 
    public void run() { 
     solo1.clickOnActionBarHomeButton(); 
    } 
}); 

但是當你使用非標準robotium方法不應該出現的錯誤。如果此解決方案不適合您,請在此分享完整的堆棧跟蹤。

1

Robotium runOnUiThread的4.3版本中有一個問題不會幫助。

由於關聯的bug report表示它已在Robotium 4.3.1版本中修復。

下載它here

如果保留runOnUiThread代碼和升級的lib,你將擁有一個logcat中更明確的例外:

E/AndroidRuntime(32201): java.lang.RuntimeException: 
    This method can not be called from the main application thread 

取出runOnUiThread,它會被罰款。

相關問題