YAML + Ruby用法

时间:2014-03-18 00:23:24

标签: ruby selenium webdriver yaml

我正在尝试使用Selenium WebDriver和Ruby制作测试用例。我几次开始学习Ruby。 我创建了测试用例:

    require "test/unit"
    require "selenium-webdriver"
    require "yaml"

    thing = YAML.load_file('config.yaml')
    puts thing.inspect

    class Test < Test::Unit::TestCase

      def setup
        browser = thing('browser')
        @driver = Selenium::WebDriver.for browser
        @driver.get 'http://google.com'
        @driver.manage.delete_all_cookies
      end

      def teardown
        @driver.close
      end

      def test_page_search
      end

    end

我决定使用YAML作为配置文件,我可以在其中更改WebDriver。

config.yaml:

    # Set browser (firefox, ie, chrome, opera)
    browser: ":firefox"

    # Search query
    search_query: "ios testing"

但是当我运行测试用例时,我收到了错误消息: &#34; test_yaml.rb:11:在`setup&#39;&#34;

2 个答案:

答案 0 :(得分:0)

你有:

browser = thing('browser')

你的意思是:

browser = thing['browser']

如果您尝试访问浏览器密钥,则需要处理它。

答案 1 :(得分:0)

谢谢!

我解决了这个问题:

require "test/unit"
require "selenium-webdriver"
require "yaml"

class Test < Test::Unit::TestCase

  def setup
    thing = YAML.load_file('config.yaml')
    puts thing.inspect

    browser = thing['browser'].to_sym
    @driver = Selenium::WebDriver.for browser
    @driver.get 'http://google.com'
    @driver.manage.delete_all_cookies
  end

  def teardown
#    @driver.close
  end

  def test_page_search
  end

end