2014-02-13 75 views
1

我在coursera安卓課程。我試圖運行第3周的實驗室,關於Intents,ImplicitTest,但是當模擬器運行時,它會在嘗試打開瀏覽器應用程序時崩潰。並且有一條消息說:「瀏覽器沒有響應」,當我讀取de Junit Tab時,在Failure Trace下,它顯示:ChooserActivity not Found。麻煩推出ImplicitTest

如果有人有同樣的問題,請告訴我如何解決它。

這裏是我的代碼:

private void startImplicitActivation() { 

     Log.i(TAG, "Entered startImplicitActivation()"); 

     // TODO - Create a base intent for viewing a URL 
     // (HINT: second parameter uses parse() from the Uri class) 
     Uri pagina = Uri.parse(URL); 
     Intent pag = new Intent(Intent.ACTION_VIEW,pagina); 


     // TODO - Create a chooser intent, for choosing which Activity 
     // will carry out the baseIntent. Store the Intent in the 
     // chooserIntent variable below. HINT: using the Intent class' 
     // createChooser()) 

     Intent chooserIntent = null; 
     chooserIntent= Intent.createChooser(pag,CHOOSER_TEXT); 

     Log.i(TAG,"Chooser Intent Action:" + chooserIntent.getAction()); 
     // TODO - Start the chooser Activity, using the chooser intent 
     startActivity(chooserIntent); 

    } 

而這部分是MyBrowser清單

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="http" /> 
</intent-filter> 
+0

您的崩潰錯誤在哪裏? – GrIsHu

+0

當我看到ImplicitTest代碼,它停止在這部分程序://等待活動:「com.android.internal.app.ChooserActivity」 \t \t assertTrue(「ChooserActivity沒有找到!」, \t \t \t \t solo.waitForActivity(「ChooserActivity」)); – user3304572

+0

但正如我所說的,模擬器不打開瀏覽器應用程序,Junit測試停止。 – user3304572

回答

1

我有同樣的問題。在我將模擬器改爲擁有200 MB的SD卡後,瀏覽器確實工作正常。

您可能需要在實際運行測試用例之前先檢查並確保瀏覽器應用程序正在運行。

+0

我的應用程序(正常運行)啓動瀏覽器,但沒有選擇器。 – jjalonso

+0

這個伎倆,我不知道爲什麼。隨着額外的SD卡的大小,它開始在屏幕中央顯示選擇器,而不是在底部,所以測試通過。 – downhand

0

我用下面一個正確的工作版本:

<intent-filter> 
    <!-- REMOVE VIEW --> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="http" /> 
</intent-filter> 
0

在我來說,我有一個默認的瀏覽器,Opera Mini的和我的瀏覽器應用程序。由於我們與Robotium測試用例鑑於講師提供的是方法

solo.clickInList(2, 0); 

我們有它根據,因爲它的顯示方式改變,點擊列表中的第一項,請使用clickInList(1 )不是clickInList(0)。其次,點擊與屏幕上的可見項目相關,因此clickInList(1)將單擊列表中的第一個可見項目,而不是整個第一個項目。

由於在實驗室手冊PDF文件中給出的教授有2所列出,它

solo.clickInlist(2,0); 

工作,但在我的情況下,它與工作,

solo.clickInList(1,1); 

雖然它沒有實際工作但測試用例運行成功。

4

對於任何人在此堆疊。嘗試使用API​​級別18,如果您使用21/22,您將收到此錯誤