Test di ciclo di vita con Robotium: attività di uccisione e riavvio

Come è ansible riavviare un'attività che è stata terminata usando solo.goBack() di solo.goBack() ?

Il seguente non riavvia l'attività: (il test finisce bene)

  • Come utilizzare la funzionalità di ricerca nella visualizzazione di elenco personalizzato in Android
  • Webkit.WebView e HTML5 di Android
  • Come potrei utilizzare lo stesso set di schermate di preferenza per tutte le versioni Android da 2.X a 4.X?
  • Reinstallazione dell'interface utente con candidatura visualizzata nella tastiera personalizzata
  • Ordine sqlite di Android sulla colonna calcasting (coordinate da distanza)
  • getView restituisce null quando il frammento è stato creato da un'attività
  •   solo.goBack(); try { // recreate activity here runTestOnUiThread(new Runnable() { public void run() { getInstrumentation().callActivityOnCreate(getActivity(), null); getInstrumentation().callActivityOnStart(getActivity()); getInstrumentation().callActivityOnResume(getActivity()); }}); } 

    Come riavviare un'attività che è stata terminata da Solo.goBack() ?

    SO-domande

    • Il stream di attività di test con gli indirizzi robotici cambia tra due attività in Robotium, non destaying e riavviando.
    • Simulare Android per uccidere e riavviare le offerte di servizio con un servizio, non un'attività (e non risponde)
    • L'attività non si riavvia in test differenti con Robotium chiede come riavviare manualmente l'attività, ma viene risposto in modo diverso

    Minimo esempio

    Per riprodurre un test minimo come questo, creare un progetto e il suo progetto di prova:

     android create project -t 1 -p testRestart -k com.testRestart -a testactivity cd testRestart mkdir tests cd tests android create test-project -m .. -p . 

    Copiare il jar Robotium nella cartella tests/libs . Incolla questo codice all'interno del file testactivityTest.java :

     package com.testRestart; import android.test.ActivityInstrumentationTestCase2; import com.robotium.solo.Solo; public class testactivityTest extends ActivityInstrumentationTestCase2<testactivity> { private Solo solo; protected void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); } public void tearDown() throws Exception { solo.finishOpenedActivities(); } public testactivityTest() { super("com.testRestart", testactivity.class); } public void testDestroyAndRestart() { solo.goBack(); try { // recreate activity here runTestOnUiThread(new Runnable() { public void run() { getInstrumentation().callActivityOnCreate(getActivity(), null); getInstrumentation().callActivityOnStart(getActivity()); getInstrumentation().callActivityOnResume(getActivity()); }}); } catch ( Throwable t ) { throw new RuntimeException(t); } } } 

    All'interno della cartella dei test, fai a

     ant debug install adb shell am instrument -w -e class com.testRestart.testactivityTest com.testRestart.tests/android.test.InstrumentationTestRunner 

    La domanda ancora: come riesci a riavviare un'attività terminata da Solo.goBack() ?

  • Integrazioni API di Google Talk con l'applicazione Android
  • Come get il contenuto di un URL e leggerlo in un'applicazione android java utilizzando l'eclipse
  • Come posso utilizzare gli ID duplicati in layout diversi?
  • where otternetworking ADT 18 per eclipse?
  • Qual è la differenza tra BaseAdapter e ArrayAdapter?
  • Come offuscare una libreria di Android (file .jar) utilizzando Proguard in Eclipse
  • One Solution collect form web for “Test di ciclo di vita con Robotium: attività di uccisione e riavvio”

    Come ha detto @IHeartAndroid nella sua risposta a questa domanda robotica (non l'ho vista prima, c'era un collegamento di @Flavio Capaccio in un commento a una " domanda correlata "):

     launchActivity("com.testRestart", testactivity.class, null); 

    lavori. Questa è una function in InstrumentationTestCase .

    (Se vuoi superare questa risposta, esegui anche la sua risposta )

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.