2009-09-12 2 views
9

Sono nuovo al Selenio. Ho generato il mio primo caso di test del selenio java e l'ho compilato con successo. Ma quando ho eseguito quel test ho ottenuto il seguente RuntimeExceptionSelenio - Impossibile avviare la sessione di selenio: Impossibile avviare la nuova sessione del browser: Errore durante l'avvio del browser

java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: Error while launching browser at com.thoughtworks.selenium.DefaultSelenium.start <DefaultSelenium.java:88> 

gentilmente mi dicono come posso risolvere questo errore.

Questo è il file java che voglio eseguire.

import com.thoughtworks.selenium.*; 

import java.util.regex.Pattern; 

import junit.framework.*; 

public class orkut extends SeleneseTestCase { 

public void setUp() throws Exception { 

    setUp("https://www.google.com/", "*chrome"); 

} 
public void testOrkut() throws Exception { 

    selenium.setTimeout("10000"); 

    selenium.open("/accounts/ServiceLogin?service=orkut&hl=en-US&rm=false&continue=http%3A%2F%2Fwww.orkut.com%2FRedirLogin%3Fmsg%3D0&cd=IN&skipvpage=true&sendvemail=false"); 

    selenium.type("Email", "username"); 

    selenium.type("Passwd", "password"); 

    selenium.click("signIn"); 

    selenium.selectFrame("orkutFrame"); 

    selenium.click("link=Communities"); 

    selenium.waitForPageToLoad("10000"); 

} 

public static Test suite() { 

    return new TestSuite(orkut.class); 

} 

public void tearDown(){ 

    selenium.stop(); 

} 

public static void main(String args[]) { 

    junit.textui.TestRunner.run(suite()); 

} 

} 

ho iniziato il server di selenio attraverso il prompt dei comandi e quindi eseguire il file java sopra attraverso un altro prompt dei comandi.

Seconda domanda: Posso fare clic con il pulsante destro del mouse su un punto specificato in una pagina Web con selenio.

+0

Ciao!Potresti postare del codice, che mostra come stai provando ad avviare il browser (o la configurazione che stai utilizzando)? Questo potrebbe aiutare a scoprire dove il problema sta arrivando ;; Inoltre: hai qualche output utile nella console, proveniente da Selenium RC? –

+0

Ho aggiunto più informazioni alla mia domanda. –

risposta

2

so t il suo potrebbe sembrare sciocco ma sei sicuro di aver dato selenium.start() nel tuo codice? I principianti possono commettere questo errore.

+0

Mi sono imbattuto nello stesso identico problema e l'aggiunta di start() ha risolto il problema della sessione. – ngeek

0

Il metodo setUp richiama fondamentalmente il metodo start, quindi non è necessario fornire selenium.start() nel codice precedente. Immagino che questo sia una specie di bug del selenio. smette di test prima di ottenere una risposta. ma non ho ancora trovato il perché.

1

Verificare sempre che il metodo selenium.stop() sia stato chiamato alla fine dei passaggi di prova.

5

È probabile che questo problema sia causato da un'istanza già in esecuzione del server Selenium. La nuova istanza deve ascoltare sullo stesso numero di porta, ma non può, perché la porta è già in uso.

Diciamo che il vostro server di selenio è configurato per avviarsi sulla porta 4444. Determinare se la porta è in uso con il comando 'netstat':

Su Windows: netstat -an | find "4444"

aspetto di vedere l'uscita in questo modo:

TCP 0.0.0.0:4444   0.0.0.0:0    LISTENING 
    TCP [::]:4444    [::]:0     LISTENING 

Su Linux, utilizzare: netstat -anp | grep 4444

(No Linux box a portata di mano, in modo da non può mostrare esempio outpu t!)

Se si vede un output, è necessario interrompere il processo in ascolto sulla porta che Selenium desidera utilizzare. Su Windows, utilizzare netstat -anb per trovare il nome del processo (verrà elencato dopo la riga che specifica il numero di porta). Uccidilo usando il Task Manager. Su Linux, il PID e il nome del processo saranno elencati con il comando precedente: uccidilo usando kill -9 <PID>.

+0

Era un problema nel mio caso .... – bluszcz