变量范围与不同的ruby文件

时间:2010-08-30 06:30:20

标签: ruby rubygems watir

我正在autpmating一个具有不同功能页面的网站。 我正在为每个功能制作不同的模块。 问题是我有一个登录页面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 个答案:

答案 0 :(得分:1)

全局变量应该适用于所有模块和所有文件。您可以将此全局变量放在名为(例如)common.rb的文件中,并在所有脚本中要求或加载该文件。

但您不需要使用全局变量。您可以轻松地执行此类操作并将其加载到您需要的每个脚本文件中。

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