изменить Watir::Browser.new на IE по умолчанию

Могу ли я изменить браузер Firefox по умолчанию на IE в watir

Watir::Browser.new

На самом деле этот код открывает браузер Firefox. Я хочу открыть IE по умолчанию вместо Firefox с помощью этой строки кода.

Возможно?


person unknownbits    schedule 05.10.2013    source источник


Ответы (5)


Да, вы можете это сделать. Для этого Вам необходимо изменить файл browser.rb,

def initialize(browser = :firefox, *args) 
to
def initialize(browser = :IE, *args)

и добавьте расширение IE в системный путь.

person Community    schedule 06.10.2013
comment
да, это хорошая идея, если вам нужно сделать что-то подобное. Это открытый исходный код, любой может изменить его по собственному требованию. - person ; 06.10.2013
comment
Я знаю, что, проведя какое-то время, вы поймете, хорошо это или плохо.. Вам не нужно полагаться на меня.. :) - person Arup Rakshit; 06.10.2013

Если вы хотите использовать IE с watir-classic вместо watir-webdriver, вы можете сделать это, используя watir gem на компьютере с Windows:

require "watir"

b = Watir::Browser.new # opens IE with watir-classic

Тот же код откроет Firefox на машине, отличной от Windows.

person Jarmo Pertman    schedule 05.10.2013

https://github.com/gotva/cucumber-watir/blob/master/features/support/env.rb Есть настройки среды. Там представлен IE. Вы можете использовать что-то вроде этого (передать переменную env) или настроить его непосредственно вместо того, чтобы установить watir.

require 'watir-webdriver'
Browser = Watir::Browser
browser = Browser.new :ie
person gotva    schedule 05.10.2013
comment
это был не мой вопрос. - person unknownbits; 05.10.2013

Если вы создаете объект Watir::Browser, используя только Watir::Browser.new, браузером по умолчанию всегда будет Firefox. Потому что именно так код был написан в browser.rb:

# File 'lib/watir-webdriver/browser.rb', line 43

def initialize(browser = :firefox, *args)
  case browser
  when Symbol, String
    @driver = Selenium::WebDriver.for browser.to_sym, *args
  when Selenium::WebDriver::Driver
    @driver = browser
  else
    raise ArgumentError, "expected Symbol or Selenium::WebDriver::Driver, got #{browser.class}"
  end

  @error_checkers = []
  @current_frame  = nil
  @closed         = false
end

Я хочу открыть IE по умолчанию вместо Firefox с помощью этой строки кода.

Да возможно, как показано ниже:

b = Watir::Browser.new :ie

Или, в противном случае, вам нужно заменить :firefox на :ie в методе #initialize. Но я бы рекомендовал вам не изменять исходный код.

person Arup Rakshit    schedule 05.10.2013
comment
Да, я это знаю, но могу ли я открыть IE, выполнив Watir::Browser.new? - person unknownbits; 05.10.2013
comment
@prashantsharma посмотрите на исходный код. Если вы не передаете никаких аргументов при вызове #new, то всегда будет выполняться firefox. - person Arup Rakshit; 05.10.2013
comment
почему firefox не нужно включать в путь, как IE и chrome тоже - person unknownbits; 05.10.2013
comment
@prashantsharma См. определение метода def initialize(browser = :firefox, *args), написанное автором. - person Arup Rakshit; 05.10.2013
comment
В этом я хочу заменить Firefox на IE. Но как? - person unknownbits; 05.10.2013

Да, это возможно и делается это следующим образом:

b=Watir::Browser.start('www.google.com',browser=:ie)

вы используете метод запуска объекта Watir::Browser и дополнения (url в кавычках, тип браузера)

person Frank    schedule 07.08.2015
comment
метод start является новым и переходит к нему вместе - person Frank; 07.08.2015