2011-07-20 9 views
11

wiem, że można załadować albo istniejący profil Firefox, lub utworzyć przy użyciu Ruby Wiązania w gem selen-webdriver, jak opisano tutaj:Jak uzyskać dostęp do rozszerzenia Firefox, które dodano w Selenium Webdriver?

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

a następnie użyć add_extension dodać dowolną liczbę Rozszerzenia przeglądarki Firefox do instancji, ale co dalej? Okno dla używanego rozszerzenia nie pojawia się podczas testu. Jak korzystać z rozszerzenia?

Czy istnieje sposób, aby rozszerzenie było domyślnie otwarte, gdy sterownik otworzy Firefox?

Oto kod używam:

#!/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 
+0

Zaktualizowany moim kodem przykładowym. – Kotsu

Odpowiedz

1

To zależy od rozszerzenia. Zwykle zachowanie rozszerzenia można w pewnym stopniu kontrolować, ustawiając odpowiednie właściwości (te, które można znaleźć w about: config) podczas tworzenia profilu FF. Na przykład mieć okno Firebug otwarty domyślnie po FF zaczyna bym zawierać następującą linię w moim kodu:

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

rozszerzeń używam zwykle mają jakąś funkcję automatycznego eksportu, który automatycznie wysyła dane do serwera lub zapisuje to na dysku. Obawiam się, że nie ma możliwości kontrolowania rozszerzenia za pomocą WebDrivera, więc nie wszystkie rozszerzenia będą użyteczne w testach automatycznych.

Powiązane problemy