2011-07-20 28 views
11

Tôi biết rằng bạn có thể tải lên hoặc một hồ sơ Firefox hiện có, hoặc tạo một trang bằng của Ruby Bindings trong đá quý selen-webdriver, như mô tả ở đây:Làm cách nào để truy cập vào Tiện ích mở rộng của Firefox mà tôi đã thêm vào Trình quản trị trang web Selenium?

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

Và sau đó sử dụng add_extension thêm bất kỳ số Firefox mở rộng cho thể hiện, nhưng sau đó những gì? Cửa sổ cho tiện ích mở rộng tôi đang sử dụng không xuất hiện trong khi thử nghiệm. Làm cách nào để sử dụng tiện ích mở rộng?

Có cách nào để mở rộng theo mặc định khi trình điều khiển mở Firefox không?

Đây là mã Tôi đang sử dụng:

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

Được cập nhật với mã mẫu của tôi. – Kotsu

Trả lời

1

Nó phụ thuộc vào phần mở rộng. Thông thường, hành vi của phần mở rộng có thể được kiểm soát ở mức độ nào đó bằng cách thiết lập các thuộc tính thích hợp (các thuộc tính mà bạn có thể tìm thấy trong about: config) khi tạo một hồ sơ FF. Ví dụ để có Firebug cửa sổ đang mở theo mặc định sau FF bắt đầu tôi sẽ bao gồm các dòng sau trong mã của tôi:

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

Các phần mở rộng tôi sử dụng thường có một số loại tính năng tự động xuất khẩu tự động gửi dữ liệu đến máy chủ hoặc tiết kiệm nó trên đĩa. Tôi sợ không có cách nào để kiểm soát một phần mở rộng với WebDriver vì vậy không phải tất cả các phần mở rộng sẽ có thể sử dụng được trong các thử nghiệm tự động.

Các vấn đề liên quan