Impedir que Phantom / Capivara solicite imagens

Recentemente, tive um problema em que meu conjunto de pepinos apresentava um erro de tempo limite. O erro foi gerado porque uma imagem hospedada externamente não estava sendo renderizada.

Felizmente, Phantomjs tem algumas opções de linha de comando incríveis disponíveis para nos ajudar. Em que é --load-imagesque nos permite evitar que o fantasma faça a solicitação de imagem.

Vamos configurar o poltergeist (driver de capivara do Phantomjs) para aceitar essas opções …

Capybara.javascript_driver = :poltergeist
Capybara.register_driver :poltergeist do |app|
options
= {
phantomjs_options
: ['--load-images=no']
}
Capybara::Poltergeist::Driver.new(app,options) end

Como você pode ver, podemos especificar uma lista de opções CLI e elas serão definidas quando executarmos nosso pacote. E aí está, evite que os fantasmas solicitem imagens!

Obrigado por ler!