RubyRequire的最佳实践

RubyRequire的最佳实践,ruby,continuous-integration,require,Ruby,Continuous Integration,Require,我正在设置自动端到端浏览器测试(SeleniumWebDriver+Ruby),目的是使它们能够在本地或CI服务器上运行。如何要求运行测试所需的所有文件(页面对象)?设置文件夹结构的最佳方法是什么,这样我就可以轻松地要求并维护页面对象目录中的组织结构 #I am trying to eliminate all the absolute paths below #require "C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\userdat

我正在设置自动端到端浏览器测试(SeleniumWebDriver+Ruby),目的是使它们能够在本地或CI服务器上运行。如何要求运行测试所需的所有文件(页面对象)?设置文件夹结构的最佳方法是什么,这样我就可以轻松地要求并维护页面对象目录中的组织结构

#I am trying to eliminate all the absolute paths below
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\userdata.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\user.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\nav.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\login.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\dash.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\manageMembers.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\accountsReceivable.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createMember.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\newPayment.rb"
#require "C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createInvoice.rb"

#This doesn't seem to work 
Dir['\\FalconQA\\*.rb'].each { |f| require f }

require "selenium-webdriver"
require 'test-unit'
gem 'test-unit'
class FAL001 < Test::Unit::TestCase 
  def testFAL001
    $user = User.new("tester2")
    login = Login.new 
    login.username($user.name)
    login.password($user.password)
    login.submit.members.noImmediateDropDown.accountsRecievable("NAme").newPayment.createInvoice
    $user.stop
  end
  def testFAL002 
    puts " THis is a test "
  end
end
#我试图消除下面所有的绝对路径
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\userdata.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\Users\\user.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\nav.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\login.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\General\\dash.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\manageMembers.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\accountsReceivable.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createMember.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\newPayment.rb”
#需要“C:\\Users\\workspace\\FalconQA\\PageObjects\\members\\createInvoice.rb”
#这似乎不起作用
Dir['\\FalconQA\\*.rb']。每个{f|都需要f}
需要“selenium webdriver”
需要“测试单元”
创业板“测试单元”
类FAL001
您可以尝试:

Dir['test-case-folder/test*.rb'].each { |f| require f }

这似乎无法获取子文件夹中的任何文件。此外,我还试图要求页面对象文件(admin2.rb、nav1.rb、homePage.rb…)如果您确实希望在文件夹名称中包含空格,请尝试以下操作:
Dir['test case folder/test*.rb']
对象文件相同:
Dir['page object folder/test*.rb']
尽管我建议将空格替换为
-
这是我得到的错误“NameError:uninitialized constant FAL001::User”