Селен не может найти папку "spec"
Поэтому я пытаюсь настроить свою локальную систему, чтобы помочь завершить существующий проект от работодателя, который использует только рельсы. Они хотят, чтобы я в первую очередь сосредоточился на тестировании rspec, так как проект почти функционален, и мне нужно конкретизировать то, что они пропустили. Однако я не могу получить 'rake spec' для создания моей тестовой папки. Как таковая, папка test содержит несколько базовых тестов для входа в систему с использованием Selenium (я их не писал). Вот след от ошибки:
/opt/local/lib/ruby/gems/1.8/gems/selenium-client-1.2.18/lib/selenium/rspec/spec_helper.rb:2:in 'require': no such file to load -- spec (LoadError)
from /opt/local/lib/ruby/gems/1.8/gems/selenium-client-1.2.18/lib/selenium/rspec/spec_helper.rb:2
from /Users/cliffhess/ampms/spec/integration/user_registration_name_not_blank_spec.rb:5:in 'require'
from /Users/cliffhess/ampms/spec/integration/user_registration_name_not_blank_spec.rb:5
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in 'load'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in 'load_spec_files'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in 'map'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in 'load_spec_files'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:18:in 'run'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in 'run_in_process'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in 'run'
from /opt/local/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in 'autorun'
from /opt/local/lib/ruby/gems/1.8/bin/rspec:19
rake aborted!
На самом деле, я уверен, что понимаю проблему (может быть?). Строка 2 в spec_helper.rb клиентов селен говорит require 'spec'
который, если я не ошибаюсь, говорит, что selenium-client должен содержать папку с именем spec
который содержит все свои вещи rspec. У selenium-client нет этой папки, так что я немного запутался, как он должен требовать эту папку в первую очередь. Если я изменю строку на require 'rspec'
Есть много других ссылок на вещи в этой воображаемой папке спецификаций, которые также вызовут прерывание rake.
Я использую Ruby 1.8.7, Rails 3.0.3 и последнюю версию selenium. Любая помощь была бы удивительной, я застрял в поиске этой проблемы уже более суток и не смог найти решение.
1 ответ
У меня была та же проблема, что и у вас, и я попробовал несколько вещей, чтобы сделать ее работоспособной, поэтому я просто копирую свои ответы из моего вопроса - LoadError при использовании Selenium: нет такого файла для загрузки - spec
Сначала я нашел руководство по Cucumber + Webrat + Selenium, которое действительно полезно
Во-вторых, я удалил
require "selenium/rspec/spec_helper"
require "spec/test/unit"
И добавил
require 'spec_helper'
куда spec_helper
содержится в папке спецификации
Я также удалил все методы, которые есть append_after
По сути, теперь тестовые случаи запускаются, это не лучшее решение, но это то, что я делал до сих пор.
PS: нужно скачать сервер Selenium с http://seleniumhq.org/download/ и запустить сервер с java -jar selenium-server-standalone-2.0b2.jar