Pytanie : ogórek i webrat poręcz błysnąć wiadomość

w ten sposób i mieć ogórkowy zapis cecha który jeżeli the zapis być pomyślny spojrzenie dla the wydajność "Rejestracyjny pomyślny" w the html. I znać że ono być tam  ponieważ i móc ono w the wyszukiwarka ale ogórek znajdować it.
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
#signup.feature
Cecha: Zapis
  The strona internetowa
  Jako kandydat
  I chcieć sprawnie zapis
  
  Scenariusz: zapis
    I być na the zapis strona
    Gdy I wypełniać wewnątrz "[email protected]" dla "user_email"
    Gdy I wypełniać wewnątrz "123456" dla "user_password"
    Gdy I wypełniać wewnątrz "123456" dla "user_password_confirmation"
    Gdy I naciskać "user_submit"
    Wtedy I musieć "Rejestracja pomyślny"

#cucumber terminal wydajność
(::) nieudany krok (::)

oczekiwać the następujący element zawartość "Rejestracyjny pomyślny":
KADAKO Praca CC
				Notować dalej jako [email protected]
				Profil
				Logout
	[email protected]
		Osobisty Szczegół	
			Redagować osobisty szczegół
								imię i nazwisko:
					DOB:
					Adres:
					Paszport Liczba:
					Paszport Tracić ważność:
					Narodowość:
					Kontaktowy Email:
					Domowy Telefon:
					telefon komórkowy:
					PCN Liczba:
					Inny organ rządzący ID:
	Kwalifikacja Nowy kwalifikacja
		Praca Historia Nowa praca historia
		© Prawo autorskie 2010
		Termin Usługa | 
		Kontaktować się 
		Projektować i budować obok:
var gaJsHost = (("https: " == document.location.protocol)? "https://ssl." : "http://www .");
document.write (unescape ("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
próba {
var pageTracker = _gat. _getTracker ("UA-15856249-1");
pageTracker. _trackPageview ();
} chwyt (błądzić) {} (Spec:: Oczekiwanie:: ExpectationNotMetError)
./features/step_definitions/web_steps.rb: 145: w "/^ (?: |I) musieć "([^"] *) "$/"
cecha/signup.feature: 12: w "Wtedy I musieć "Rejestracyjny pomyślny""

Odpowiedź : ogórek i webrat poręcz błysnąć wiadomość

OK… Tutaj być the zawartość the blog poczta… jon

Rubin: Using reset_session w Poręcz z Ogórek i Webrat
I segregować the następujący pluskwa:

    Wszystkie the Poręcz ochrona przewdonik mówić że ty musieć reset_session po the użytkownik bela dalej lub bela dalej. To rozjaśniać to the sesja i zmuszać nowy sesja ID. Ono wydawać się tam  być tam  Poręcz pluskwa odnosić sie reset_session przez lata. , I teraz martwić się że tam  być konflikt gdzieś odnosić sie Poręcz infrastruktura and/or Webrat.

    W mój nazwa użytkownika akcja, I dzwonić reset_session i wtedy stawiać ładny wiadomość w błysk. Gdy I właściwie używać the strona internetowa, I móc (przez Firefox) że I dostawać nowy sesja ID, i I móc mój błyskowy wiadomość. , Gdy I pisać test dla tamte dwa rzecz, the błyskowy wiadomość dostawać przegrany, i I dostawać nowy sesja ID w mój ciastko. Ono być prawie tak jakby the nowy sesja ignorować, i the stary sesja używać.

    I być zmartwiony, ale I móc dokładnie dokąd the problem być. I znać że tam  być specjalny Poręcz kod ten rękojeść sesyjny ciastko gdy ty robić integracja testowanie.

    I używać actionpack-2.3.8 i webrat-0.7.1.

Tutaj być jak I zrobić mój best wokoło the problem.

Najpierw wszystko, I przechować mój sesja w the baza danych. Hence, I tworzyć ActiveRecord model ręcznie sesyjny rejestr:

klasowy Sesja <� ActiveRecord::Base="">  # Poręcz reset_session być reset_session ale kłopot dla.  I brać
  # liczyć się w mój swój ręka.  Ten kod musieć jeżeli my zatrzymywać
  # stawiać nasz sesja w the baza danych.
  def self.nuke_session (session_id)
    find_by_session_id! (session_id) .destroy
  końcówka
końcówka

Ponieważ I być authlogic, mój logout akcja patrzeć to jak to:

def niszczyć
  current_user_session.destroy

  # Unikać sesyjny fiksacja atak.  Ono móc niepotrzebny, ale ono być
  # konieczny the test przepustka.
  sesja [: test_that_this_disappears] = "test_that_this_disappears"
  session_id = ciastko [ActionController:: Base.session_options [: klucz]]
  Session.nuke_session (session_id)
  reset_session

  redirect_to: akcja =>: logged_out
końcówka

Mój nazwa użytkownika akcja być to jak akcja:

def tworzyć
  @user_session = UserSession.new (params [: user_session])
  jeśli @user_session.valid?
    powrót odpłacać się: akcja =>: nowy
  końcówka

  # Unikać sesyjny fiksacja atak resetting the sesja.
  reset_session
  @user_session = UserSession.new (params [: user_session])
  @user_session.save!

  # Dla niektóre powód, błysk, reset_session, Ogórek, Etc. dostawać niektóre,
  # w ten sposób I musieć the błyskowy wiadomość przez parametr.
  redirect_to (root_url (: nazwa użytkownika => 1))
końcówka

Zamiast wiadomość przez błysk, I przechodzić zapytanie parametr.

I sprawdzać dla ten parametr w mój ApplicationController:

before_filter: check_for_login_message

# Dla niektóre powód, błysk, reset_session, Ogórek, Etc. dostawać niektóre.
# Hence, po nazwa użytkownika, my musieć the błyskowy wiadomość przez zapytanie parametr
# raczej przez błysk.
#
# Jeżeli I musieć ten jakby rzecz znowu, I tworzyć lookup stół folować
# wiadomość.
def check_for_login_message
  flash.now [: success_message] = "Nazwa użytkownika pomyślny!" jeżeli params [: nazwa użytkownika]
końcówka

W końcu, I mieć to w pełnometrażowy kartoteka:

# Ten test musieć.  W rzeczywistości, ono pracować gdy ty używać twój wyszukiwarka.
#, Tam  być pluskwa gdzieś między Poręcz i Webrat który zapobiegać
# ono od działanie gdy ty używać Ogórek.  Jakoś, reset_session łamać.
#
# Scenariusz: dalej musieć twój sesyjny ciastko
# I być na the homepage
# Gdy I patrzeć mój sesyjny ciastko
# I I notować dalej
# Wtedy I musieć różny sesyjny ciastko

Ten test polegać na te krok:

# Ten test musieć.  W rzeczywistości, ono pracować gdy ty używać twój wyszukiwarka.
#, Tam  być pluskwa gdzieś między Poręcz i Webrat który zapobiegać
# ono od działanie gdy ty używać Ogórek.  Jakoś, reset_session łamać.
#
# Dawać/^I spojrzenie przy mój sesja cookie$/
# @cookie = ciastko [ActionController:: Base.session_options [: klucz]]
# końcówka
#
# Wtedy/^I musieć różny sesja cookie$/
# new_cookie = ciastko [ActionController:: Base.session_options [: klucz]]
# new_cookie.sh ould_not == @cookie
# końcówka
Inne rozwiązania  
 
programming4us programming4us