2011-07-20 124 views
11

我知道,你可以加載一個現有的Firefox配置文件,或者創建在硒的webdriver寶石使用Ruby綁定一個,如下所述:如何訪問我在Selenium Webdriver中添加的Firefox擴展?

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

然後用add_extension添加任何數量的Firefox擴展到實例,但那又如何?測試過程中沒有出現我正在使用的擴展程序的窗口。我如何使用擴展名?

當驅動程序打開Firefox時,有沒有辦法讓擴展默認打開?

這裏是我使用的代碼:這取決於擴展

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

已更新我的示例代碼。 – Kotsu

回答

1

。通常,在創建FF配置文件時,可以通過設置適當的屬性(可在about:config中找到的屬性)來控制擴展的行爲。例如有Firebug的窗口中默認打開FF開始後,我會包括在我的下面一行代碼:

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

的擴展我用平時有某種自動導出功能,可以自動將數據發送到服務器或保存它在磁盤上。恐怕沒有辦法通過WebDriver控制擴展,所以並不是所有的擴展都可以在自動化測試中使用。

相關問題