ventajas validar usar texto que pruebas para framework desventajas con componentes como comandos chrome selenium webdriver selenium-webdriver selenium-chromedriver

validar - selenium ventajas y desventajas



¿Cómo ejecutar los casos de prueba de Selenium WebDriver en Chrome? (10)

Debe descargar el chromeDriver en una carpeta y agregar esta carpeta en su variable PATH. Tendrás que reiniciar tu consola para que funcione.

Intenté esto

WebDriver driver = new ChromeDriver();

Pero estoy obteniendo el error como

Pruebas fallidas: setUp (com.TEST): la ruta al ejecutable del controlador debe establecerse mediante la propiedad del sistema webdriver.chrome.driver; para obtener más información, consulte http://code.google.com/p/selenium/wiki/ChromeDriver . La última versión se puede descargar de http://code.google.com/p/chromedriver/downloads/list

¿Cómo puedo hacer que Chrome pruebe los casos de prueba de Selenium-WebDriver?


Descargue el exe de chromedriver y extráigalo en la ubicación actual del proyecto. Aquí el enlace, donde podemos descargar la última versión de chromedriver.

https://sites.google.com/a/chromium.org/chromedriver/

Aquí el código simple para el navegador de inicio y navegue a url.

System.setProperty("webdriver.chrome.driver", "path of chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://any_url.com");


Descargue la última versión del controlador de Chrome y use este código:

System.setProperty("webdriver.chrome.driver", " path of chromedriver.exe"); WebDriver driver= new ChromeDriver(); driver.manage().window().maximize(); Thread.sleep(10000); driver.get("http://.com");


Descargue la versión de actualización del controlador de Chrome desde http://code.google.com/p/chromedriver/downloads/list

public class Chrome { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "E://chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("http://www.google.com"); } }

También puede ver la respuesta después de hacer clic here


Encuentre la última versión de chromedriver aquí . Una vez descargado, descomprímelo en la raíz de su instalación de Python, por ej. C:/Program Files/Python-3.5 , y listo. Ni siquiera necesita especificar la ruta en cualquier lugar y / o agregar chromedriver a su ruta o similar. Acabo de hacerlo en una instalación limpia de Python y eso funciona.


Necesita instalar el controlador de Chrome. Puede instalar este paquete usando nugget como se muestra a continuación


Puede usar el siguiente código para ejecutar casos de prueba en Chrome utilizando el controlador web Selenium:

import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class ChromeTest { /** * @param args * @throws InterruptedException * @throws IOException */ public static void main(String[] args) throws InterruptedException, IOException { // Telling the system where to find the Chrome driver System.setProperty( "webdriver.chrome.driver", "E:/chromedriver_win32/chromedriver.exe"); WebDriver webDriver = new ChromeDriver(); // Open google.com webDriver.navigate().to("http://www.google.com"); String html = webDriver.getPageSource(); // Printing result here. System.out.println(html); webDriver.close(); webDriver.quit(); } }


Si está utilizando homebrew en una MacOS, puede usar el comando:

brew install chromedriver

Debería funcionar bien después de eso sin otra configuración.


Todas las respuestas anteriores son correctas, a continuación se presenta una pequeña inmersión profunda en el problema y la solución.

El constructor del controlador en selenio por ejemplo

WebDriver driver = new ChromeDriver();

busca el ejecutable del controlador, en este caso, el controlador de Chrome busca el ejecutable del controlador de Chrome; en caso de que el servicio no pueda encontrar el ejecutable, se lanza la excepción

aquí es de donde proviene la excepción (observe el método de verificación de estado)

/** * * @param exeName Name of the executable file to look for in PATH * @param exeProperty Name of a system property that specifies the path to the executable file * @param exeDocs The link to the driver documentation page * @param exeDownload The link to the driver download page * * @return The driver executable as a {@link File} object * @throws IllegalStateException If the executable not found or cannot be executed */ protected static File findExecutable( String exeName, String exeProperty, String exeDocs, String exeDownload) { String defaultPath = new ExecutableFinder().find(exeName); String exePath = System.getProperty(exeProperty, defaultPath); checkState(exePath != null, "The path to the driver executable must be set by the %s system property;" + " for more information, see %s. " + "The latest version can be downloaded from %s", exeProperty, exeDocs, exeDownload); File exe = new File(exePath); checkExecutable(exe); return exe; }

A continuación está el método de estado de verificación que arroja la excepción

/** * Ensures the truth of an expression involving the state of the calling instance, but not * involving any parameters to the calling method. * * <p>See {@link #checkState(boolean, String, Object...)} for details. */ public static void checkState( boolean b, @Nullable String errorMessageTemplate, @Nullable Object p1, @Nullable Object p2, @Nullable Object p3) { if (!b) { throw new IllegalStateException(format(errorMessageTemplate, p1, p2, p3)); } }

SOLUCIÓN : configure la propiedad del sistema antes de crear el objeto del controlador de la siguiente manera

System.setProperty("webdriver.gecko.driver", "path/to/chromedriver.exe"); WebDriver driver = new ChromeDriver();

El siguiente es el fragmento de código (para Chrome y Firefox) donde el servicio del controlador busca el ejecutable del controlador:

Cromo:

@Override protected File findDefaultExecutable() { return findExecutable("chromedriver", CHROME_DRIVER_EXE_PROPERTY, "https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver", "http://chromedriver.storage.googleapis.com/index.html"); }

Firefox:

@Override protected File findDefaultExecutable() { return findExecutable( "geckodriver", GECKO_DRIVER_EXE_PROPERTY, "https://github.com/mozilla/geckodriver", "https://github.com/mozilla/geckodriver/releases"); }

donde CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver" y GECKO_DRIVER_EXE_PROPERTY = "webdriver.gecko.driver"

similar es el caso de otros navegadores, a continuación se muestra una instantánea de la lista de implementación del navegador disponible


Debe descargar el controlador ejecutable desde: Descargar ChromeDriver

Luego, todo lo que necesita hacer es usar lo siguiente antes de crear el objeto del controlador (ya se muestra en el orden correcto):

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); WebDriver driver = new ChromeDriver();

Esto se extrajo de la guía más útil en: https://sites.google.com/a/chromium.org/chromedriver/