Download de arquivo utilizando o PhantomJS

Pessoal, alguém sabe, ou tem alguma dica de como pode ser feito teste de download de arquivo utilizando o PhantomJS?

Atualmente eu estou executando um teste de download de arquivo com o Chrome Driver e está funcionando, porém com o Phanthom não encontrei nada na net sobre fazer como fazer o teste de download de arquivo.

Alguém já precisou fazer um teste desse tipo? Ou tem alguma referência?

Obrigado.

Quando se refere “teste de download de arquivo” o que está validando no chrome driver que iria validar no Phantom? Acho que a dinamica de baixar o arquivo tu poderia pesquisar pelo que o javascript permite fazer.
A dúvida seria na validação? Na montagem do script?

@cassio você quer saber se o arquivo existe? se o link está certo?..

Não, na verdade eu não estou conseguindo fazer download do arquivo, quando executo no PhanthonJS.

Para executar no ChormeDriver eu precisei fazer o seguinte, no momento da inicialização do driver:

//setei em um map os keys abaixo
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", CAMINHO_DOWNLOAD_ARQUIVOS);
 
//setei as preferencias
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);

DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, options);

setDriver(new ChromeDriver(cap));

Feito isso, qnd eu clico no meu link de download, ao executar meu teste, o arquivo é salvo no CAMINHO_DOWNLOAD_ARQUIVOS.

A minha dúvida é o eu precisaria fazer para conseguir salvar o arquivo, qnd executo o testes no PhanhtomJS?

Obrigado a todos.

Ah, apenas complementando, o meu teste é para verificar a integridade do conteúdo do arquivo, eu comparo o MD5 do arquivo que eu fiz upload com o MD5 do arquivo q eu faço download.

Hum, entendi.
Bom, na época que usei o PhantomJS, já rolava uma conversa de que era complicado. Eu até usei o CasperJS para fazer tal procedimento …

Dando uma pesquisada, achei esse link no StackOverflow

using-selenium-with-python-and-phantomjs-to-download-file-to-filesystem

A última resposta ele fala sobre o que precisaria para fazer o download. Não valei tal solução, mas pode ser um norte…
(Ou usar o CasperJS para fazer isso, ou esquecer isso e ir beber uma cerveja…) hehhehee

Cassio,

Acho que também é importante se perguntar a necessidade de fazer isso pelo WebDriver. Nem todo browser vai ter suporte a isso (como o PhantomJS) e é meio que uma gambiarra.

Nesse link o autor descreve uma solução: http://ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/

Entretanto, você poderia muito bem testar isso fazendo um request pra URL de download e aí sim validar o md5 do arquivo, sem precisar testar fazendo o clique no botão em vários browsers diferentes.

Abs

@stefanteixeira faz um gist de exemplo stefan :) em ruby

@Leonardo-Galani hahahah um dia…

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.