2009-09-12 15 views
9

Soy nuevo en Selenium. Genere mi primer caso de prueba de selenio java y se compiló con éxito. Pero cuando corro esa prueba me dio la siguiente RuntimeExceptionSelenium: no se pudo iniciar la sesión de Selenium: no se pudo iniciar la nueva sesión del navegador: error al iniciar el navegador

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> 

amablemente dígame cómo puedo corregir este error.

Este es el archivo java que quiero ejecutar.

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()); 

} 

} 

Primero inicié el servidor selenium a través del símbolo del sistema y luego ejecuto el archivo java anterior a través de otro símbolo del sistema.

Segunda pregunta: ¿Puedo hacer clic derecho en un lugar específico en una página web con selenio.

+0

¡Hola!¿Podría publicar algún código que muestre cómo está intentando iniciar el navegador (o la configuración que está utilizando)? Esto podría ayudar a descubrir dónde viene el problema; también: ¿tiene algún resultado útil en la consola, procedente de Selenium RC? –

+0

He agregado más información a mi pregunta. –

Respuesta

2

sé t Puede sonar tonto, pero ¿está seguro de que ha dado selenium.start() en su código? Los principiantes pueden cometer este error.

+0

Me encontré con el mismo problema, y ​​al agregar start() solucionó el problema de la sesión. – ngeek

0

El método setUp básicamente invoca el método de inicio, por lo que no es necesario dar selenium.start() en el código anterior. Supongo que esto es una especie de error del selenio. deja de probar antes de obtener alguna respuesta. pero aún no he encontrado por qué.

1

Siempre asegúrese de que se haya llamado al método selenium.stop() al final de los pasos de prueba.

5

Las posibilidades son que este problema es causado por una instancia ya en ejecución del servidor Selenium. La nueva instancia necesita escuchar en el mismo número de puerto, pero no puede, porque el puerto ya está en uso.

Digamos que su servidor de selenio está configurado para iniciarse en el puerto 4444. Determinar si el puerto está en uso a través del 'netstat' comando:

En Windows: netstat -an | find "4444"

esperan ver una salida como ésta:

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

en Linux, utilice: netstat -anp | grep 4444

(n máquina Linux a mano, por lo que no se puede mostrar ejemplo Outpu t!)

Si ve algún resultado, debe cancelar el proceso que está escuchando en el puerto que Selenium desea usar. En Windows, use netstat -anb para encontrar el nombre del proceso (aparecerá después de la línea que especifica el número de puerto). Mátalo usando el Administrador de tareas. En Linux, el PID del proceso y el nombre se enumerarán mediante el comando anterior; elimínelo usando kill -9 <PID>.

+0

Fue un problema en mi caso ... – bluszcz

Cuestiones relacionadas