Utilizzo Selenium RC con Java utilizzando TestNG come Framework di test. Sto usando Eclipse come IDE. Voglio invocare TestNG dal mio programma molto facilmente. Come lo posso fare?Come eseguire test Selenium Java con TestNG al livello di programmazione?
risposta
TheStijn fornisce alcune indicazioni, sebbene TestMethodWorker() sia interno, quindi non è necessario utilizzarlo.
In base alla domanda, io non sono nemmeno sicuro il manifesto originale sta cercando di lanciare TestNG in un processo separato, quindi la documentazione delle API potrebbe essere quello che stai cercando:
http://testng.org/doc/documentation-main.html#running-testng-programmatically
Date un'occhiata a org.testng.remote.RemoteTestNG, questo sarà comunque avete bisogno di scrivere una suite XML per i test come:
<suite name="Default suite">
<test verbose="2" name="Default test">
<classes>
<class name="com...service.UserServiceImplTest"/>
</classes>
</test>
</suite>
Un altro punto di ingresso potrebbe essere nuova org.testng.internal. TestMethodWorker (...). Run() ma dovrai guardare il codice per determinare gli argomenti del costruttore che devi impostare.
Forse altri, più convenienti punti di ingresso sono disponibili a seconda delle esigenze; Suggerisco di avviare alcuni test in modalità di debug, inserire un punto di interruzione nel test e andare giù nello stack.
Sì, questo è il contenuto del file xml. Quindi, il file build.xml viene eseguito utilizzando eclipse o Ant –
la mia seguente codice in Java funziona bene:
@Test
public void testTestNGProgramatically(){
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestClasses(new Class[] {LoginAuthentication.class, GmailSigninSignout.class});
testng.addListener(tla);
testng.run();
}
È possibile ottenere i dettagli spiegazione visitando il seguente URL:
http://testng.org/doc/documentation-main.html#running-testng-programmatically
Nel mio codice precedente: TestNG è deprecato nella riga "TestNG testng = new TestNG();" . Qual è l'alternativa della classe TestNG? –
Usa 'org.testng.TestNG', non' com.beust.TestNG' (quello che stai probabilmente importando). –
@CedricBeust: Grazie mille. Sì, ho importato org.testng.TestNG invece di com.beust.TestNG e OK ora –
Il mio codice seguente funziona bene: TestListenerAdapter tla = new TestListenerAdapter(); TestNG testng = new TestNG(); testng.setTestClasses (new Class [] {LoginAuthentication.class}); testng.addListener (tla); testng.run(); com.beust.testng.TestNG; TestNG è deprecato. C'è un modo alternativo? –
Utilizza org.testng.TestNG invece di com.beust.TestNG –
puoi seguire anche questo blog http://dharshanaw.blogspot.com/2012/10/how-to-execute-testng-tests.html – Dharshana