Новичок Cucumber / Selenium пытается использовать данные сеанса RoR в определениях шагов и терпит неудачу

Я провожу свои первые несколько дней с огурцом / селеном, пытаясь выяснить, является ли RBB тем, что я хочу использовать в моем последнем проекте RoR.

Мои настройки: Rails 2.3.5, selenium-client 1.2.17, огурец 0.4.4 и т. Д., На мой взгляд, актуальны.

Следуя инструкциям на https://github.com/cucumber/cucumber/wiki/Setting-up-Selenium У меня есть сорта огурца / селена. Простые определения шагов работают и производят вывод, который имеет смысл (я обычно не ожидаю большего в первые несколько дней с чем-либо :-)).

Моя проблема: я пытаюсь получить доступ к хешу сеанса rails в моем определении шага ... и терпит неудачу. Ссылка на «сеанс» в любом «заданном» -предложении просто представляет мне «неопределенный метод` сеанс 'для nil: NilClass (NoMethodError) »

Есть ли какое-нибудь секретное рукопожатие, которого мне не хватает в документации ???? Что-нибудь, что нужно настроить в моей среде, чтобы можно было использовать хеш сеанса?

С уважением Майкл


person Michael Portz    schedule 14.12.2009    source источник
comment
Что вы пытаетесь сделать с информацией о сеансе? Как правило, следует избегать доступа к деталям реализации, таким как сеансы, из определений шагов огурца. Шаги огурца являются приемочными испытаниями и не должны зависеть от реализации. Cucumber обращается к вашему сайту как пользователь. Лучше посмотреть, что делает ваше приложение, то есть на какой странице вы находитесь и что вы видите на экране.   -  person JosephL    schedule 14.12.2009
comment
Спасибо за ваш комментарий! Yepp, я уже видел такие рекомендации, как ваша. Возможно, когда я займусь более твердой позицией в отношении BDD, я последую за ней. Просто я предпочитаю делать что-то, потому что понимаю это, а не потому, что не могу делать иначе (особенно на такой ранней стадии) :-)   -  person Michael Portz    schedule 15.12.2009


Ответы (1)


Это должно произойти прямо из коробки. Если вы добавите строку отладчика прямо к определению шага, вы сможете ввести «сеанс» и увидеть что-то вроде:

{: session_id => "f978d4220252b7e1ca51fb7319d5a365", "flash" => {}}

person heavysixer    schedule 15.12.2009
comment
Спасибо, звучит многообещающе, особенно. немного об отладчике !! - person Michael Portz; 15.12.2009
comment
Забавно: пока я использую Webrat.configure do | config | config.mode =: rails [...] Я могу получить доступ к информации о сеансе в отладчике. Как только я переключаюсь на: selenium, я больше не могу ... * ДУМАЮ * - person Michael Portz; 16.12.2009