Rahul,

it looks like you are testing using Cucumber, and it's really a Cucumber question.

It looks like it should work, instance variables in Cucumber live for a duration of one scenario, if I'm not mistaken. If you want, you can try to switch from Ruby instance variables to class variables: @@successful_page, etc. Class variables will live during an entire Cucumber run. If it does not work, post an entire stack trace to a Cucumber mailist, please.

--
DK
AIM: DKroot1, Skype: DKroot


On 6/3/11 12:44 PM, Rahul Sharma wrote:
Hi Guys,

I have got a problem that I run into frequently using the page object
pattern for Watir and was wondering if anyone could help.

I have a booking page on which a user could click book button to book
an event. If the user is eligible for the booking, a Succesful booking
page is returned and if not then Requirement not met page is returned.
Currently following the page object pattern I have different page
classes for each page. So my code goes like this:
My feature file:

Scenario 1:
When I book event #(member eligible)
Then Successful booking page should be displayed

Scenario 2:
When I book event #(member not eligible)
Then Requirement not met page should be displayed

My Ruby file:
When "I book an event" do
@booking_page.book_event
end

Then "Successful booking page should be displayed" do
@successful_page.should be_displayed

Then "Requirement not met page should be displayed" do
@requirement_not_met_page.should be_displayed
end

My book_event method that evaluates the page to be returned is like
this:

def book_event
           book_button.click
           if @browser.url =~ /requirementNotMet/

@requirement_not_met_page=Pages::WhiteLabel::Community::RequirementNotMetPage.new(@browser)
           else

@successful_page=Pages::WhiteLabel::Community::SuccessfulBookingPage.new(@browser)
           end
end
Now this does not seem to work and I get method not defined for Nil
Class error. So I guess in the book_event method, the page objects
from teh two classes are not being assigned to the variables.

Any ideas how I can do this?

Thanks in advance


--
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

[email protected]
http://groups.google.com/group/watir-general
[email protected]

Reply via email to