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)

  • Facebook SDK e condividere un link di app Play Store con il problema di ShareDialog
  • ADB non riconosce Samsung S5830 (Ace) in Linux Ubuntu 10.04
  • Pagina vuota all'avvio
  • L'applicazione Appcelerator non si riavvia (Android)
  • Come utilizzare il menu di scorrimento con ActionBar Sherlock?
  • Perché la mia attività android inizia sempre a scorrere fino in fondo?
  •   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() ?

  • Guida all'implementazione di PagerSlidingTabStrip
  • Come passare da Google Analytics a Firebase-Analytics?
  • Invio di una struttura C ++ su UDP in Java
  • Do 'Chrome Apps for Mobile' utilizza la visualizzazione web nativa su each piattaforma?
  • Alle risorse
  • Cancellare i marcatori da Google Map in Android
  • 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.