¿Cómo acceder a la extensión de Firefox que agregué en Selenium Webdriver?

Sé que puedes cargar un perfil existente de Firefox o crear uno usando Ruby Bindings en la gem de controlador de web de selenium, como se describe aquí:

http://code.google.com/p/selenium/wiki/RubyBindings

Y luego use add_extension para agregar cualquier cantidad de extensiones de Firefox a la instancia, ¿pero luego qué? La ventana de la extensión que estoy usando no aparece durante la prueba. ¿Cómo uso la extensión?

¿Hay alguna forma de que la extensión esté abierta de forma predeterminada cuando el controlador abre Firefox?

Aquí está el código que estoy usando:

 #!/usr/bin/env ruby require "rubygems" require "selenium-webdriver" default_profile = Selenium::WebDriver::Firefox::Profile.from_name "default" default_profile.add_extension("/Users/******/Library/Application Support/Firef\ ox/Profiles/wvon3h99.default/extensions/{9c51bd27-6ed8-4000-a2bf-36cb95c0c947}.\ xpi") driver = Selenium::WebDriver.for(:firefox, :profile => default_profile) driver.navigate.to "http://google.com" element = driver.find_element(:name, 'q') element.send_keys "Hello WebDriver!" element.submit puts driver.title driver.quit 

Depende de la extensión. Por lo general, el comportamiento de la extensión se puede controlar hasta cierto punto configurando las propiedades apropiadas (las que puede encontrar en about: config) al crear un perfil de FF. Por ejemplo, para tener la ventana de Firebug abierta de forma predeterminada después de que se inicie FF, incluiría la siguiente línea en mi código:

 default_profile["extensions.firebug.allPagesActivation"] = true 

Las extensiones que uso generalmente tienen algún tipo de función de exportación automática que envía datos automáticamente al servidor o los guarda en el disco. Me temo que no hay forma de controlar una extensión con WebDriver, por lo que no todas las extensiones se podrán utilizar en pruebas automatizadas.