selenium webdriver hudson-plugins

¿Cuál es la diferencia entre Selenium''s Remote Control vs WebDriver?



hudson-plugins (2)

Por lo que yo entiendo, la implementación de Webdriver comenzó poco después de Selenium RC. Desde mi punto de vista, WebDriver es una solución más flexible, que solucionó algunos problemas molestos de SeleniumRC.

WebDriver proporciona una interfaz estándar para probar la GUI web. Existen varias implementaciones de esta interfaz (HTTP, específica del navegador y basada en Selenium). Como ya tiene algunas pruebas de WebDriver, debe estar familiarizado con documentos básicos como this

Las pruebas son cada vez más largas de completar, por lo que he estado buscando formas de ejecutar las pruebas en un servidor Linux.

¿Trataste de encontrar verdaderos cuellos de botella? No estoy seguro, esa eliminación de la capa WebDriver ayudará. Creo que la mayor parte del tiempo se usa en los comandos de Selenium y en las solicitudes HTTP para el sistema bajo prueba.

Si utilizo el control remoto de sleneium, ¿significa esto que tengo que volver a escribir todo lo que escribí con la API de WebDriver?

En general, sí. Si no implementó alguna capa adicional entre el código de pruebas y WebDriver.

En cuanto a la red de selenio: puede iniciar varias instancias de Selenium RC en varios nodos [virtuales] diferentes, y luego registrarlos en Selenium Grid. Sus pruebas se conectan a Selenium Grid, y redirige todos los comandos a instancias de SeleniumRC, coordinándolos de acuerdo con los navegadores requeridos.

Para obtener más información sobre el complemento hudson, puede encontrar más información here

No estoy seguro de entender la diferencia. WebDriver API también controla directamente el navegador de su elección. ¿Cuándo deberías usar el control remoto de selenio (selenio RC) en su lugar?

En este momento, mi situación actual es que estoy probando una aplicación web al escribir un paquete con Selenium WebDriver API y dejar que se ejecute en mi computadora. Las pruebas tardan más y más en completarse, por lo que he estado buscando formas de ejecutar las pruebas en un servidor Linux.

Si utilizo Selenium Remote Control, ¿esto significa que tengo que volver a escribir todo lo que escribí con WebDriver API?

Estoy confundido con Selenium Grid, Hudson, Selenium RC. Encontré un plugin de Selenium Grid para Hudson, pero no estoy seguro si esto incluye Selenium RC.

¿Estoy tomando la ruta correcta? Visualizo la siguiente arquitectura:

  • Hudson corriendo en pocos servidores dedicados de Ubuntu.
  • Hudson con el plugin Xvnc & Selenium Grid. (¿Debo instalar Firefox por separado?)
  • Selenium grid ejecuta selenio RC suites de prueba.

Creo que esto es mucho más eficiente que ejecutar una prueba en mi computadora de escritorio actual con WebDriver API.


WebDriver ahora es Selenium 2. Las bases de código de Selenium y WebDriver se están fusionando. WebDriver resuelve una serie de problemas que tiene el Selenium y el Selenium soluciona una serie de problemas que tiene Webdriver.

Si ha escrito sus pruebas en Selenium uno, no tiene que volver a escribirlas para trabajar con Selenium 2. Nosotros, los desarrolladores principales, lo hemos escrito para que cree una instancia de navegador e inyecte eso en Selenium y sus pruebas de Selenium 1 Trabaja en Selenium 2. He puesto un ejemplo a continuación para ti.

// You may use any WebDriver implementation. Firefox is used here as an example WebDriver driver = new FirefoxDriver(); // A "base url", used by selenium to resolve relative URLs String baseUrl = "http://www.google.com"; // Create the Selenium implementation Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl); // Perform actions with selenium selenium.open("http://www.google.com"); selenium.type("name=q", "cheese"); selenium.click("name=btnG");

Desafortunadamente, el Selenio 2 no se ha incluido en Selenium 2, pero no debería pasar demasiado tiempo hasta que se haya agregado, ya que esperamos alcanzar la versión beta en los próximos meses.