¿Alguien tiene idea de cómo probar la descarga de archivos usando pepino?archivo de prueba de pepino descarga
Respuesta
Esto funcionó para mí en base al utilizar send_data al igual que send_data(data, :filename => "inventory_#{Date.today.to_s}.csv", :disposition => 'attachment')
Probablemente no es la mejor manera de escribir el paso, pero funcionó!
Then /^I should receive a file(?: "([^"]*)")?/ do |file|
result = page.response_headers['Content-Type'].should == "application/octet-stream"
if result
result = page.response_headers['Content-Disposition'].should =~ /#{file}/
end
result
end
He encontrado this a ser una manera conveniente de las pruebas de descargas, es una manera naiv haciendo una prueba para las cabeceras puestos a la mayoría de las veces es razonable.
Si está utilizando capbybara a continuación, poner el siguiente dentro de su step_definitions.rb
Then /^I should get a download with the filename "([^\"]*)"$/ do |filename|
page.response_headers['Content-Disposition'].should include("filename=\"#{filename}\"")
end
Dentro de su función ahora se puede hacer:
When I follow "Export as ZIP"
Then I should get a download with the filename "contacts_20110203.zip"
Saludos
Intentó pero activó esta excepción 'Capybara :: NotSupportedByDriverError Exception: Capybara :: NotSupportedByDriverError'. ¿Cualquier sugerencia? – kxhitiz
Solo lo probé con prueba en rack como controlador. ¿Qué estás usando, Selenio? – krichard
sí ... selenio. ¿Cualquier sugerencia? – kxhitiz
corro selenio a través de cromo , cuando estoy probando que la csv se ha descargado, uso lo siguiente en Ruby:
Simplemente busca en el directorio de descarga predeterminado y confirma que el archivo está allí y emite el nombre de archivo en cmd.
en Chrome lo hago con la apertura de la página: chrome://downloads
y luego usar el dom sombra para recuperar los archivos descargados:
document
.querySelector('downloads-manager')
.shadowRoot.querySelector('#downloads-list')
.getElementsByTagName('downloads-item');
La lista de archivos descargados también contienen información como la ruta del archivo y la fecha de descarga.
Para Chrome, puede establecer la capacidad proporcionando opciones de cromo. Consulte a continuación código
String downloadFilepath = "path to specify download location e.g. C:\\Downloads";
Map<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(cap);
entonces se puede usar existe() de java.io.File para asegurarse de si existe el archivo.
File file = new file(downloadFilepath+filename);
assert file.exists() : "File not downloaded";
- 1. Prueba de estrés usando pepino
- 2. Pepino + prueba alerta JS
- 3. Prueba de una tarea de rake en rspec (y pepino)
- 4. Pepino: cómo organizar un conjunto de prueba complejo
- 5. automatización de escenarios de prueba de pepino para MySQL
- 6. pepino
- 7. La ejecución de JavaScript desde un pepino/Carpincho prueba
- 8. Descarga de archivo Ajax Problema
- 9. Archivo de seguimiento descarga completa
- 10. Descarga de archivo OpenXML sin archivo temporal
- 11. ¿Cómo se cambia el controlador predeterminado de prueba para una prueba de pepino en Capibara?
- 12. Prueba de la unidad de Django para probar un archivo de descarga
- 13. JMeter - Carga de archivo y escenario de descarga de archivos
- 14. capibara de pepino ¿cómo funciona?
- 15. Reutilizar Pasos de pepino
- 16. Cómo se burlan/ramal en un modelo pepino prueba
- 17. google app engine archivo de descarga python
- 18. Descarga de un archivo dll en mef
- 19. Crear archivo de texto y descarga
- 20. Descarga de un archivo en Delphi
- 21. wget rechazar aún el archivo de descarga
- 22. Cómo agregar la primera prueba de pepino a una aplicación de Rails
- 23. Pepino/Capibara vs Selenio?
- 24. Pepino y Rspec compartiendo fábrica de fábricas
- 25. Orden de elementos de la prueba de pepino en la tabla
- 26. Diferencia entre "archivo de prueba" y "archivo de prueba -f archivo"
- 27. ¿Cómo configuro la ruta a mis funciones de pepino usando pepino-junit?
- 28. Pepino + paralelo_prueba. Resultados HTML?
- 29. Prueba de pepino/capibara ya no se ejecuta en el proyecto de Rails 3
- 30. TDD/BDD Rails Duplicación de pepino/RSpec
Necesita un poco más de información. ¿Es esta una aplicación por lotes, un sitio web, estás usando Watir o una API similar? ¿Qué estás tratando de probar con respecto a la descarga de archivos? –