在Ruby测试单元中导入/读取参数

在Ruby测试单元中导入/读取参数,ruby,testing,csv,selenium,webdriver,Ruby,Testing,Csv,Selenium,Webdriver,在我失去它之前请帮帮我 我正在使用Ruby测试单元和SeleniumWebDriver。我的所有测试都是从一个登录函数开始的,因此我希望测试能够从一个中心脚本/csv/text文件中提取用户名和密码值,这是最简单的。这将使从一个地方控制登录详细信息变得更容易,而不是将它们硬编码到每个脚本中。我不是Ruby程序员,因此我觉得这并不容易。我想我应该能够在“def setup”部分声明用户名和密码参数,以便它从外部源读取值 这可能吗 require "selenium-webdriver"

在我失去它之前请帮帮我

我正在使用Ruby测试单元和SeleniumWebDriver。我的所有测试都是从一个登录函数开始的,因此我希望测试能够从一个中心脚本/csv/text文件中提取用户名和密码值,这是最简单的。这将使从一个地方控制登录详细信息变得更容易,而不是将它们硬编码到每个脚本中。我不是Ruby程序员,因此我觉得这并不容易。我想我应该能够在“def setup”部分声明用户名和密码参数,以便它从外部源读取值

这可能吗

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


   class CMSNewslist < Test::Unit::TestCase

      def setup
       @driver = Selenium::WebDriver.for :firefox
       @base_url = "http://skyintranet/"
       @driver.manage.timeouts.implicit_wait = 90
       @verification_errors = []
      end

      def teardown
       @driver.quit
       assert_equal [], @verification_errors
      end


      def test_c_m_s_newslist
       @driver.get(@base_url + "/Enterprise-Applications-Test/")
       @driver.find_element(:link, "Login").click
       @driver.find_element(:id,     "ctl00_MainRegion_LoginView_LoginControl_UserName").clear
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_UserName").send_keys  "Ruband"
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_Password").clear
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_Password").send_keys  "Donn1982"
@driver.find_element(:id, "ctl00_MainRegion_LoginView_LoginControl_LoginBtn").click
assert_equal "Logout", @driver.find_element(:class, "loginButton").text, "Login Unsuccessful"
puts "Login Successful"
需要“selenium webdriver”
需要“测试/单元”
类CMSNewslist

非常感谢

您可以将它们放在一个单独的文件中并读取它,或者在每个脚本中包含一个mixin

module LoginConfig
    @@username = 'foo'
    @@password = 'bar'
end
然后在类CMSNewslist中:

...
require 'login_config'

class CMSNewslist < Test::Unit::TestCase
    include LoginConfig
...
。。。
需要“登录\配置”
类CMSNewslist
然后您可以使用@用户名和@密码。这里有一个不错的混合教程。。。