2013-06-07 2 views
1

Мы перешли от watir-webdriver (IE) к watir-classic (мы обнаружили, что он быстрее и «прощаем» при поиске из элементов ... (по крайней мере на win7-64bit IE9).watir 4. + и профиль firefox

Итак, мы решили перейти на watir 4. + (чтобы воспользоваться автоматическим «требованием переключения»), поэтому теперь наши общие скрипты работают над IE, НО, но я не могу получить firefox для загрузить заказной профиль ... (1 пример использования профиля прилагается ниже)

Я google'd, но не смог найти пример, который использует Watir 4.0 с профилем Firefox. Пожалуйста, помогите.

C:> рубин -v

рубин 1.9.3p385 (2013-02-06) [i386-mingw32]

C:> Список камень | Grep 'Watir'

commonwatir (4.0.0)

Watir (4.0.2 x86-mingw32)

Watir-классик (3.7.0)

Watir-WebDriver (0.6.4)

С:> IRB

IRB (основной): 001: 0> требуется '' Watir

= > Правда

IRB (основной): 002: 0> Профиль = Селен :: WebDriver :: Firefox :: Profile.new

NameError: uninitialized constant Selenium 

    from (irb):2 

    from C:/Ruby193/bin/irb:12:in `<main>' 

IRB (основной): 003: 0>^C

irb (main): 003: 0>

Завершить пакетное задание (Y/N)? У

С:> IRB

IRB (основной): 001: 0> требуется 'Watir-WebDriver'

=> истинный

IRB (основной): 002: 0> Профиль = Селен :: WebDriver :: Firefox :: Profile.new

=> #

IRB (основной): 003: 0> профиль [ 'network.http.phishy-UserPass длины'] = 255

=> 255

IRB (основной): 004: 0> драйвер = Селен :: WebDriver.for (: светлячок,: профиль => профиль)

=> #

IRB (основной): 005: 0> browser = Watir :: Browser.новый (драйвер)

=> #

IRB (основной): 006: 0>^C

IRB (основной): 006: 0> Прекратить пакетное задание (Y/N)? Y

ответ

2

Я не верю, что загрузчик watir справляется с этой ситуацией. Вы могли бы log it as an issue и посмотреть, есть ли у него хороший способ обратиться к нему.

В краткосрочной перспективе вы можете заставить watir-webdriver (и, следовательно, селен-webdriver) загружаться при создании профиля.

require 'watir' 
Watir.driver = 'webdriver' 
Watir.load_driver 

profile = Selenium::WebDriver::Firefox::Profile.new 
profile['network.http.phishy-userpass-length'] = 255 

browser = Watir::Browser.new :chrome, :profile => profile 
+0

Thanks Justin, реализовано краткосрочное решение (оно работает). и я также представил его в качестве вопроса. Спасибо –

+0

Я говорил слишком рано
см. Ниже
даже после силовой загрузки webdriver
следующие строки, которые еще не могут загрузить профиль, не работают
driver = Selenium :: WebDriver.for (: firefox,: profile => profile)
driver = Selenium: : WebDriver.for (: firefox,: profile => profile)
NoMethodError: undefined метод 'to_sym 'для #

+0

Вы должны создать Watir: : Объект браузера, а не объект Selenium :: WebDriver - см. Http://watirwebdriver.com/firefox/. Я обновил приведенный выше пример. –

Смежные вопросы