将变量库加载到Watir中

时间:2013-11-18 14:56:03

标签: ruby testing shared-libraries constants watir

我正在尝试将文件加载到watir中,该文件将包含我需要用于整个站点的许多不同功能的所有常量。每当我这样做,虽然它总是说浏览器是未定义的。

所有常量都启动browser.xxxxx。我环顾四周,似乎无论如何都没有加载包含您可能需要的所有变量的单个文件,任何人都可以确认这是不可能的吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以加载包含变量的文件。但是,您需要对方法进行一些更改:

  1. 变量名browser.xxxx无效,因为您不能在变量名中包含句点(。)。您需要一个不同的变量名称,例如,使用下划线 - browser_xxxx
  2. browser_xxxx这样的变量是局部变量。它只能在声明的文件中使用。如果要在另一个文件中使用它,则应使用常量,例如BROWSER_URL,或创建一个模块,以便您可以Browser.url
  3. 使用常量的示例

    假设你的constants.rb文件包含:

    BROWSER_URL = 'www.google.ca'
    

    然后你的另一个脚本文件(假设在同一个文件夹中)可以:

    require_relative 'constants'
    require 'watir'
    
    browser = Watir::Browser.new
    browser.goto BROWSER_URL
    

    使用模块的示例

    您可以在constants.rb文件中创建一个包含各种常量的模块:

    module Browser
      @url = 'www.google.ca'
    
      class << self
        attr_reader :url  
      end
    end
    

    然后你的另一个脚本文件(假设在同一个文件夹中)可以:

    require_relative 'constants'
    require 'watir'
    
    browser = Watir::Browser.new
    browser.goto Browser.url