¿Puede alguien indicarme cómo cargar un archivo utilizando Selenium mediante código Java?
Cuando hago clic en el botón en la aplicación que se abre en la nueva ventana lo que puedo utilizar para seleccionar el archivo de carga. El botón de exploración desarrollado por Silverlight (C #).
Primero asegúrese de que el elemento de entrada es visible.
Como dice Mark Collin en la discusión aquí:
No haga clic en el botón Examinar, se activará un cuadro de diálogo de nivel OS caja y efectivamente detener su prueba muerta.
En su lugar puede utilizar: ;
driver.findElement(By.id("myUploadElement")).sendKeys("<absolutePathToMyFile>");
.
myUploadElement es el id de ese elemento (botón en este caso) y en sendKeys tienes que especificar la ruta absoluta del contenido que quieres subir (Imagen,video etc). Selenium hará el resto por ti.
Ten en cuenta que la subida sólo funcionará si el elemento al que envías un fichero debe tener la forma <input type="file">
.
Si usted tiene un cuadro de texto para escribir la ruta del archivo, sólo tiene que utilizar sendkeys para introducir la ruta del archivo y haga clic en el botón Enviar. Si no hay un cuadro de texto para escribir la ruta del archivo y sólo puede hacer clic en el botón Examinar y seleccionar el archivo desde la ventana emergente, puede utilizar la herramienta AutoIt, consulte el paso siguiente para utilizar AutoIt para lo mismo,
Descargue e instale la herramienta AutoIt desde http://www.autoitscript.com/site/autoit/
Abra Programas -> Herramienta Autoit -> Editor de Script SciTE.
Pegue el siguiente código en el editor Autoit y guárdelo como "filename.exe "(ej: new.exe)
A continuación, compilar y construir el archivo para que sea exe. (Herramientas → Compilar)
Código Autoit:
WinWaitActive("File Upload"); Name of the file upload window (Windows Popup Name: File Upload)
Send("logo.jpg"); File name
Send("{ENTER}")
Luego Compilar y Construir desde el menú Herramientas de la herramienta Autoit -> Editor de Script SciTE.
Pegue el siguiente código Java en el editor Eclipse y guarde
Código Java:
driver.findElement(By.id("uploadbutton")).click; // open the Upload window using selenium
Thread.sleep("20000"); // wait for page load
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + "C:\\Documents and Settings\\new.exe"); // Give path where the exe is saved.