2009-12-14 6 views
1

Je passe mes premiers jours avec concombre/sélénium en essayant de comprendre si RBB est la chose que je veux utiliser dans mon dernier projet RoR.Débutant concombre/sélénium essayant d'utiliser RoR session-données dans les définitions d'étape ... et échouant

Mon réglage: Rails 2.3.5, sélénium-client 1.2.17, concombre 0.4.4 etc., assez courant à mon avis.

En suivant les instructions au http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium, j'ai obtenu des sortes de concombre/sélénium en fonctionnement. Les définitions d'étapes simples fonctionnent et produisent des sorties qui ont du sens (je ne m'attends généralement pas à mes premiers jours avec quoi que ce soit :-)).

Mon problème: J'essaie d'accéder au rail de hachage de session dans ma définition de pas ... et échoue lamentablement. Se référer à "session" dans n'importe quelle clause "donnée" me présente simplement "méthode non définie` session 'pour nil: NilClass (NoMethodError) "

Y at-il une poignée de main secrète qui me manque dans les docs? Tout ce qui doit être configuré dans mon environnement, donc utiliser le hash de session est possible?

Cordialement Michael

+0

Qu'est-ce que Est-ce que vous essayez de faire avec les informations de session? En général, l'accès aux détails de mise en œuvre, comme les sessions de vos définitions de pas de concombre, doit être évité. Les étapes du concombre sont des tests d'acceptation et devraient être indépendantes de la mise en œuvre. Le concombre accède à votre site comme le ferait un utilisateur. Il est préférable de regarder ce que fait votre application, c'est-à-dire sur quelle page vous êtes et ce que vous pouvez voir sur l'écran. – JosephL

+0

Merci pour votre commentaire! Yepp, j'ai déjà vu des recommandations comme la vôtre. Peut-être que lorsque je serai sur un terrain plus solide concernant BDD, je le suivrai. C'est juste que je préfère faire les choses parce que je le comprends, pas parce que je ne fais pas autrement (surtout à un stade précoce) :-) –

Répondre

0

Cela devrait se faire dès la sortie de la boîte. Si vous ajoutez un droit de ligne de débogueur à une définition de l'étape, vous devriez être en mesure de type "session" et de voir quelque chose comme:

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

+0

Merci, cela semble prometteur, esp. le bit sur le débogueur !! –

+0

Chose drôle est: Tant que j'utilise Webrat.configure do | config | config.mode =: rails [...] Je peux accéder aux informations de session dans le débogueur. Dès que je passe à: sélénium je ne peux plus ... * PENSE * –

Questions connexes