2012-11-27 47 views
0

我设置了自动端到端浏览器测试(Selenium Webdriver + 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 
+0

这是我得到的“NameError:未初始化不断FAL001 ::用户”的错误 – Zach

回答

0

你可以试试:

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

这似乎并没有得到任何文件的子文件夹中。另外我试图要求页面对象文件(admin2.rb,nav1.rb,homePage.rb .....) – Zach

+0

如果你真的想在你的文件夹名称中有空格,试试这个:'Dir ['test case folder/test * .rb']' – 2012-11-27 21:16:32

+0

same for object files:'Dir ['Page Object folder/test * .rb']' – 2012-11-27 21:17:19