ferdev.comFerdev

Programador Ruby on Rails

Cambiar el idioma a selenium

Aug 14, 2010        

Ayer me encontré con un problema haciendo tests para un pet-project que estoy haciendo con Rails3 3.0.0.rc. Parece ser que a partir de la versión 1.0.0.beta.9 de bundler, culerity lanza un error a la hora de crear el browser con celerity. Mientras investigo el problema, no quería dejar el desarrollo parado, así que decidí cambiar el driver de capybara a selenium. Pero el firefox que trae el driver de selenium integrado se me ejecutaba en castellano, y yo tengo los tests escritos en inglés, por lo que fallaban. Tras twittear buscando ayuda, @pacoguzman me pasó un link(gracias!) de la gente de Teambox que tenía la clave para solucionarlo.

Lo solución consiste en extraer el profile del driver de selenium, pasarle la nueva clave del idioma, y volver a asignar el profile al driver de selenium. La clave que había que pasar era ‘intl.accept_languages’ (sacado de hacer un about:config en mi Firefox y buscar un poco) junto con el lenguaje que quieras usarlo, en mi caso ‘en’. Como yo estoy usando Steak para mis test de aceptación, incorporé el código en el archivo de configuración ‘spec/acceptance/acceptance_helper.rb’:

Capybara::Driver::Selenium.class_eval do
  class << self
    def driver
      @driver ||= begin
        profile = Selenium::WebDriver::Firefox::Profile.new 
        profile['intl.accept_languages'] = 'en'
        driver = Selenium::WebDriver.for :firefox, :profile => profile
        at_exit { driver.quit }
        driver
      end
    end
  end
end

Y listo, selenium en inglés y todos los tests pasando!

¡Contáctame!

No dudes en ponerte en contacto conmigo para cualquier cosa que puedas necesitar.

Sobre mí.

¿Quién soy?

Me llamo Fernando Espinosa, un tío de Madrid apasionado con el desarrollo web, Ruby on Rails y las metodologías ágiles.

¿De dónde vengo?

Mi primer contacto con el mundo de la programación vino cuando era solo un niño, de manos de un Amstrad CPC-6128 y un libro de Basic. A partir de ahí, pasé por lenguajes como Logo, Pascal, Fortran, C, Javascript, php, Java, C# y Ruby. He tenido la suerte de trabajar durante muchos años en algunas de las más importantes empresas del sector, como Soluziona o Indra entre otras. Puedes ver mi curriculum en Xing - Fernando EspinosaXing o Linked In - Fernando EspinosaLinkedin.

¿Qué es lo que hago?

Desarrollo aplicaciones web, poniendo todos mis esfuerzos en crear aplicaciones usables, con interfaces de usuario limpios y atractivos.

¿Cómo lo hago?

Con la ayuda de metodologías ágiles, prototipando desde el inicio del desarrollo, y manteniendo una comunicación continua con mis clientes.

¿Qué herramientas uso?

Estas son con las que me siento más cómodo:

Lo siento, pero no estoy interesado en proyectos en Java, .NET o php ;-)

Contratarme.

Lo siento, pero ya no hago desarrollos freelance. Actualmente milito orgullosamente en las filas de Vizzuality, lo cual no me deja tiempo para más proyectos.

Mi portfolio.

A continuación, una lista de los proyectos en los que he estado trabajando últimamente.

También puedes ver mi cuenta de github.com, algunos de estos proyectos están ahí.