2015-05-11 8 views
5

Prima di inviare i miei casi di test, voglio assicurarmi che stiano funzionando in modo stabile. C'è qualche modo in Android Studio per eseguire lo stesso caso di test/class in loop per diverse volte?Android Studio - esegue più volte il test case (s) più volte nel ciclo

+0

Non credo che IJ lo sostenga. Se non vuoi toccare il tuo codice di prova, potresti fare 'set -e; per i in {1..20}; do ./gradlew connectedAndroidTest; done'. –

risposta

-1

Basta usare il ciclo FOR. Per esempio:

@Test // test loop 
    public void openApp() { 
     int x; 
     for(x=1; x < 3; x++) { 
      PageObject open = new PageObject(driver); 
      waitUntilElmntToBeClckbl(open.sqlApp); 
      open.sqlApp.click(); 
      driver.navigate().back; 
} 
+0

Non è corretto! Prima di ogni test, alcuni setup/config devono essere eseguiti. Con il tuo suggerimento, verrà eseguito solo una volta e quindi il test verrà eseguito. In secondo luogo, una volta che il test fallisce, uscirà. Non continuerà a funzionare per più iterazioni. In terzo luogo, si tratta di verificare la stabilità della corsa di prova e deve essere eseguita sul codice di prova effettivo che verrà presentato. – user846316

+0

Non hai fornito queste informazioni nella tua domanda ... – Konstantin

0

Usa parameterized test JUnit con diversi casi di set di parametri vuoto:

@RunWith(Parameterized.class) 
public class RepeatedTest { 

    private static final int NUM_REPEATS = 10; 

    @Parameterized.Parameters() 
    public static Collection<Object[]> data() { 
     Collection<Object[]> out = new ArrayList<>(); 
     for (int i = 0; i < NUM_REPEATS; i++) { 
      out.add(new Object[0]); 
     } 
     return out; 
    } 

    @Test 
    public void unstableTest() { 
     // your test code here 
    } 
} 

una classe di test con parametri viene eseguito tutti i suoi metodi di prova una volta per ogni elemento nel metodo contrassegnato con il @Parameters annotazioni . Viene normalmente utilizzato per eseguire un test con diversi valori iniziali, ma se non ci sono valori da impostare, il test viene semplicemente ripetuto tutte le volte che lo si desidera.

Il test passerà solo se tutte le istanze passano.