2010-08-30 52 views
3

我正在自動完成具有不同功能頁面的網站。 我正在爲每個功能製作不同的模塊。 問題是,我有一個登錄頁面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

全局變量應在所有模塊和所有文件中可用。你可以把這個全局變量放在一個名爲(例如)common.rb的文件中,並在你的所有腳本中要求或加載該文件。

但是您不需要使用全局變量。您可以輕鬆做到這樣的事情,並將其加載到您需要的每個腳本文件中。

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