Селен не может найти папку «spec» - PullRequest
3 голосов
/ 10 марта 2011

Итак, я пытаюсь настроить свою локальную систему, чтобы помочь завершить существующий проект от работодателя, который использует только рельсы. Они хотят, чтобы я в первую очередь сосредоточился на тестировании 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 клиентов selenium указывается require 'spec', которая, если я не ошибаюсь, говорит, что в программе selenium-client должна быть папка с именем spec, в которой содержатся все элементы rspec. У selenium-client этой папки нет, так что я немного запутался в том, как он вообще должен требовать эту папку. Если я изменю строку на require 'rspec', в этой воображаемой папке спецификаций появятся многочисленные другие ссылки на вещи, которые также приведут к прерыванию rake.

Я использую Ruby 1.8.7, Rails 3.0.3 и последнюю версию selenium. Любая помощь была бы удивительной, я застрял в поисках этой проблемы уже более суток и не смог найти решение.

1 Ответ

1 голос
/ 17 марта 2011

У меня была та же проблема, что и у вас, и я попробовал несколько вещей, чтобы сделать ее работоспособной, поэтому я просто копирую свои ответы из моего вопроса - LoadError при использовании Selenium: нет такого файла для загрузки - spec


Сначала я нашел Огурец + Вебрат + Селен гид , который действительно полезен

Во-вторых, я удалил

require "selenium/rspec/spec_helper"
require "spec/test/unit"

И добавил

require 'spec_helper'

Где spec_helper содержится в папке спецификации

Я также удалил все методы, которые append_after

По сути, теперь тестовые случаи работоспособны, это не лучшее решение, но это то, что я делал до сих пор.

P.S .: необходимо загрузить сервер Selenium с http://seleniumhq.org/download/ и запустить сервер с java -jar selenium-server-standalone-2.0b2.jar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...