Cucumber, webrat механизировать тестирование php / drupal приложения на MAMP, проблема аутентификации - PullRequest
1 голос
/ 21 июля 2011

У меня есть огурец, тестирующий мое приложение на drupal с прохождением тестов, например:

Given /^I am authenticated as a "([^"]*)" user$/ do |role|
  visit('/user')
  fill_in "name", :with => "user_#{role.downcase}"
  fill_in "pass", :with => "password"
  click_button
  visit('/') #gets around a 302 redirect issue
  response_body.should contain("Log out")
end

Мой env.rb выглядит примерно так:

require 'rspec/expectations'
require 'webrat'
require 'test/unit/assertions'

World(Test::Unit::Assertions)

Webrat.configure do |config|
  config.mode = :mechanize
end

World do
  session = Webrat::Session.new
  session.extend(Webrat::Methods)
  session.extend(Webrat::Matchers)
  session.visit('http://localhost')
  session
end

Это проходит нормально, когда мойвиртуальный хост на MAMP является локальным хостом по умолчанию.Но когда я создаю другой виртуальный хост с тем же документом (и обновляю файл session.visit для использования нового корня), этот тест не пройден.Кажется, сессия потеряна.

Кто-нибудь знает, как это отладить?Я посмотрел на вывод html, и он показывает содержимое как не прошедший проверку подлинности пользователя, поэтому я думаю, что сеанс сбрасывается.

Редактировать
Я проверил виртуальные хосты иони точно такие же.Тот, у которого тесты не пройдены, как правило, на порядок медленнее.

1 Ответ

0 голосов
/ 25 июня 2012

Я в итоге перешел на капибару.Существовали версии Mechanize, в которых было несколько ошибок, связанных с публикацией данных форм и т. Д. Капибара работает намного лучше.

...