Переменная область действия в другом файле ruby - PullRequest
3 голосов
/ 30 августа 2010

Я автоматизирую веб-сайт с другой страницей функций.Я делаю разные модули для каждой функции.проблема в том, что у меня есть страница входа в систему Login.rb, которая имеет следующий код: -

$IE = Watir::IE.new_process

module Login

  def Login.login(url)
    $IE.goto("url")
    sleep (4)
    $IE.maximize
    #$IE.span(:class =>'menuLink', :text =>'Image').click
  end
end

мне нужно получить доступ к переменной $ IE для других методов моих модулейпроблема в том, что другие модули, которые находятся в другом файле .rb, не принимают эту переменную.помогите мне, насколько я должен это объявить, чтобы я мог использовать его во всех моих модулях в разных файлах.

1 Ответ

1 голос
/ 30 августа 2010

Глобальные переменные должны быть доступны во всех модулях и во всех файлах.Вы можете поместить эту глобальную переменную в файл с именем (например) common.rb и потребовать или загрузить этот файл во всех ваших сценариях.

Но вам не нужно использовать глобальную переменную.Вы можете так же легко сделать что-то подобное и загрузить его в каждый файл сценария, который вам нужен.

module Browser
  def self.ie
    @ie ||= Watir::IE.new_process
  end
end
...