example java selenium firefox selenium-webdriver selenium-firefoxdriver
http://selenium-release.storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip

java - example - selenium webdriver download



Selenium 2.53 no funciona en Firefox 47 (15)

A partir de septiembre de 2016

Firefox 48.0 y selenium==2.53.6 funcionan bien sin ningún error

Para actualizar Firefox solo en Ubuntu 14.04

sudo apt-get update sudo apt-get upgrade firefox

Recibo un error al usar Firefox con WebDriver.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

  • Versión de Firefox: 47.0
  • Selenio: 2.53.0
  • Windows 10 de 64 bits

¿Alguien tiene un problema similar o alguna idea de cuál es la solución para esto? Funciona bien con Chrome, pero con Firefox ninguna de las URL se está cargando.



En caso de que alguien se pregunte cómo usar Marionette en C #.

FirefoxProfile profile = new FirefoxProfile(); // Your custom profile var service = FirefoxDriverService.CreateDefaultService("DirectoryContainingTheDriver", "geckodriver.exe"); // Set the binary path if you want to launch the release version of Firefox. service.FirefoxBinaryPath = @"C:/Program Files/Mozilla Firefox/firefox.exe"; var option = new FirefoxProfileOptions(profile) { IsMarionette = true }; var driver = new FirefoxDriver( service, option, TimeSpan.FromSeconds(30));

Anular las opciones de Firefox para proporcionar la función de agregar capacidad adicional y establecer el perfil de Firefox porque el selenio v53 aún no proporciona esa función.

public class FirefoxProfileOptions : FirefoxOptions { private DesiredCapabilities _capabilities; public FirefoxProfileOptions() : base() { _capabilities = DesiredCapabilities.Firefox(); _capabilities.SetCapability("marionette", this.IsMarionette); } public FirefoxProfileOptions(FirefoxProfile profile) : this() { _capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, profile.ToBase64String()); } public override void AddAdditionalCapability(string capabilityName, object capabilityValue) { _capabilities.SetCapability(capabilityName, capabilityValue); } public override ICapabilities ToCapabilities() { return _capabilities; } }

Nota: el lanzamiento con perfil no funciona con FF 47, funciona con FF 50 Nightly.

Sin embargo, tratamos de convertir nuestra prueba para usar Marionette, y no es viable en este momento porque la implementación del controlador no está completa o tiene errores. Sugeriría que las personas degraden su Firefox en este momento.



Finalmente instalé una versión anterior adicional de Firefox (utilizada solo para pruebas) para resolver esto, además de mi última instalación regular (segura y actualizada) de Firefox.

Esto requiere que webdriver sepa dónde puede encontrar el binario de Firefox, que se puede configurar a través de la propiedad webdriver.firefox.bin .

Lo que funcionó para mí (mac, maven, /tmp/ff46 como carpeta de instalación) es:

mvn -Dwebdriver.firefox.bin=/tmp/ff46/Firefox.app/Contents/MacOS/firefox-bin verify

Para instalar una versión anterior de Firefox en una carpeta dedicada, cree la carpeta, abra el Finder en esa carpeta, descargue el dmg de Firefox y arrástrelo a ese Finder.


Firefox 47.0 dejó de funcionar con Webdriver.

La solución más fácil es cambiar a Firefox 47.0.1 y Webdriver 2.53.1. Esta combinación nuevamente funciona. De hecho, la restauración de la compatibilidad con Webdriver fue la razón principal detrás de la versión 47.0.1, de acuerdo con https://www.mozilla.org/en-US/firefox/47.0.1/releasenotes/ .


Intenta usar firefox 46.0.1. Se combina mejor con Selenium 2.53

https://ftp.mozilla.org/pub/firefox/releases/46.0.1/win64/en-US/


Lamentablemente, Selenium WebDriver 2.53.0 no es compatible con Firefox 47.0. El componente WebDriver que maneja los navegadores Firefox ( FirefoxDriver ) será descontinuado. A partir de la versión 3.0, Selenium WebDriver necesitará el binario geckodriver para administrar los navegadores Firefox. Más información here y here .

Por lo tanto, para usar Firefox 47.0 como navegador con Selenium WebDriver 2.53.0, debe descargar el controlador Firefox (que es un archivo binario llamado geckodriver partir de la versión 0.8.0, y anteriormente se wires ) y exportar su ruta absoluta al variable webdriver.gecko.driver como una propiedad del sistema en su código Java:

System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");

Afortunadamente, la biblioteca WebDriverManager puede hacer este trabajo por usted, es decir, descargar el binario Marionette adecuado para su máquina (Linux, Mac o Windows) y exportar el valor de la propiedad adecuada del sistema. Para usar esta biblioteca, debe incluir esta dependencia en su proyecto:

<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>3.6.2</version> </dependency>

... y luego ejecute esta línea en su programa antes de usar WebDriver:

WebDriverManager.firefoxdriver().setup();

Un ejemplo completo de ejecución de un caso de prueba JUnit 4 usando WebDriver podría ser el siguiente:

public class FirefoxTest { protected WebDriver driver; @BeforeClass public static void setupClass() { WebDriverManager.firefoxdriver().setup(); } @Before public void setupTest() { driver = new FirefoxDriver(); } @After public void teardown() { if (driver != null) { driver.quit(); } } @Test public void test() { // Your test code here } }

Tenga en cuenta que Marionette será la única opción para el futuro (para WebDriver 3+ y Firefox 48+), pero actualmente (versión 0.9.0 en el momento de la escritura) no es muy estable. Eche un vistazo a la hoja de ruta de Marionette para obtener más detalles.

ACTUALIZAR

Selenium WebDriver 2.53.1 se lanzó el 30 de junio de 2016. FirefoxDriver está trabajando nuevamente con Firefox 47.0.1 como navegador.


Las nuevas bibliotecas de Selenium ya están disponibles, de acuerdo con: here

La página de descarga http://www.seleniumhq.org/download/ parece que aún no se ha actualizado, pero al agregar 1 a la versión secundaria en el enlace, podría descargar la versión C #: http://selenium-release.storage.googleapis.com/2.53/selenium-dotnet-2.53.1.zip

A mí me funciona con Firefox 47.0.1.

Como nota al margen, pude compilar solo la extensión webdriver.xpi Firefox desde la rama maestra en GitHub, ejecutando ./go //javascript/firefox-driver:webdriver:run , que dio un mensaje de error pero ./go //javascript/firefox-driver:webdriver:run la compilación /javascript/firefox-driver/webdriver.xpi , que podría cambiar el nombre (para evitar un choque de nombres) y cargar con éxito con el método FirefoxProfile.AddExtension. Esa fue una solución razonable sin tener que reconstruir toda la biblioteca Selenium.


Me parece que la mejor solución es actualizar a Selenium 3.0.0, descargar geckodriver.exe y usar Firefox 47 o superior.

Cambié la inicialización de Firefox a:

string geckoPathTest = Path.Combine(Environment.CurrentDirectory, "TestFiles//geckodriver.exe"); string geckoPath = Path.Combine(Environment.CurrentDirectory, "geckodriver.exe"); File.Copy(geckoPathTest, geckoPath); Environment.SetEnvironmentVariable("webdriver.gecko.driver", geckoPath); _firefoxDriver = new FirefoxDriver();


Puedes intentar usar este código,

private WebDriver driver; System.setProperty("webdriver.firefox.marionette","Your path to driver/geckodriver.exe"); driver = new FirefoxDriver();

Actualicé a selenium 3.0.0 y la versión de Firefox es 49.0.1

Puede descargar geckodriver.exe desde https://github.com/mozilla/geckodriver/releases

Asegúrese de descargar solo el archivo zip, geckodriver-v0.11.1-win64.zip o win32 uno según su sistema y extráigalo en una carpeta.

Ponga la ruta para esa carpeta en las comillas "Su ruta al controlador". No olvide poner geckodriver.exe en la ruta.


Puedo confirmar que selenium 2.53.6 funciona para mí con firefox 44 en ubuntu 15.


Si está en una Mac, brew install geckodriver y listo.


Si usa OSX con Homebrew, puede instalar versiones antiguas de Firefox a través de brew cask:

brew tap goldcaddy77/firefox brew cask install firefox-46 # or whatever version you want

Después de la instalación, solo necesitará cambiar el nombre de su ejecutable FF en el directorio de Aplicaciones a "Firefox".

Se puede encontrar más información en el repositorio de git homebrew-firefox . Atrezzo a smclernon para crear el barril original .


Tuve el mismo problema y descubrí que necesita cambiar los controladores porque here . En lugar de usar el controlador Firefox , debe usar el controlador Marionette para ejecutar sus pruebas. Actualmente estoy trabajando en la configuración y puedo publicar algunos pasos sugeridos si lo desea cuando tengo un ejemplo de trabajo.

Estos son los pasos que seguí para que esto funcione en mi entorno Java en Mac (también funcionó para mí en mis instalaciones de Linux (Fedora, CentOS y Ubuntu)):

  1. Descargue el ejecutable nocturno de la página de lanzamientos
  2. Descomprima el archivo
  3. Cree un directorio para Marionette (es decir, mkdir -p /opt/marionette )
  4. Mueva el archivo ejecutable desempaquetado al directorio que creó
  5. Actualice su $PATH para incluir el ejecutable (también, edite su .bash_profile si lo desea)
  6. : bangbang: Asegúrese de que chmod +x /opt/marionette/wires-xxx para que sea ejecutable
  7. En su lanzamiento, asegúrese de usar el siguiente código a continuación (es lo que usé en Mac)

Nota rápida

Todavía no funciona como se esperaba, pero al menos se inicia el navegador ahora. Necesito averiguar por qué: en este momento parece que necesito reescribir mis pruebas para que funcione.

Fragmento de Java

WebDriver browser = new MarionetteDriver(); System.setProperty("webdriver.gecko.driver", "/opt/marionette/wires-0.7.1-OSX");