Follow the template here: https://github.com/cheezy/page-object/wiki/Creating-and-using-page-objects look at how it defines page_url
On Wed, Aug 10, 2016 at 1:59 PM, Ajay Reddy <[email protected]> wrote: > The Updated code is here:- > > Scenario: User needs to create a new account > > Given I am on xxx homepage > > When I click on sign in > And I fill the user information > And I click Create Account > Then I should see the user details > > > > Given(/^I am on xxx homepage$/) do > visit(Homepage) > end > > When(/^I click on sign in$/) do > visit(Homepage).sign_in > end > > And(/^I fill the user information$/) do > visit(UserInfo).fill_user_information > end > > And(/^I click Create Account$/) do > visit(Homepage).create_account > end > > Then(/^I should see the user details$/) do > puts 'visit(UserInfo).fill_user_information' > end > > > class Homepage > include PageObject > include Configuration > > > def open > @browser.page_url("http://www.xxx.com") > end > > def sign_in > wait_for_some_time 5 > @browser.element(css: 'div.links-static ul li.account div#login_user_data > a.account').click > end > > def create_account > @browser.element(css: > 'div.ml_function.ml_function_arrowtoptoleft.padding_top_twenty.height_fifty > input.ml_function_button_createaccountRegister').click > end > > end > > > > > > > > On Wednesday, August 10, 2016 at 1:46:40 PM UTC-5, Titus Fortner wrote: >> >> Same error being the page doesn't load, even though you have a properly >> formatted page_url defined and are using the visit method on the class? >> Need to see the updated code. You can also try putting a sleep before the >> click to see if the page is loading but hasn't finished before trying to >> click on your element. >> >> >> On Wednesday, August 10, 2016 at 1:37:10 PM UTC-5, Ajay Reddy wrote: >>> >>> I have changed from gto to page_url and instead #on I am using #visit >>> but I am getting same error. >>> >>> On Wednesday, August 10, 2016 at 12:32:32 PM UTC-5, Titus Fortner wrote: >>>> >>>> That's a page object, it doesn't show your step code. >>>> Best practice is to define a page_url and use #visit instead of #on >>>> https://github.com/cheezy/page-object/wiki/Creating-and-usin >>>> g-page-objects >>>> >>>> On Wed, Aug 10, 2016 at 12:19 PM, Ajay Reddy <[email protected]> >>>> wrote: >>>> >>>>> Here is the data for xxx website and taking data from yaml file. >>>>> >>>>> class UserInfo >>>>> include PageObject >>>>> include DataMagic >>>>> >>>>> >>>>> text_field(:first_name, :id => 'b_firstname') >>>>> text_field(:last_name, :id => 'b_lastname') >>>>> text_field(:email_id, :id => 'reg_email') >>>>> radio(:gender, :css => 'ml_panelregistration_field_optionbox') >>>>> text_field(:password, :id => 'password1') >>>>> text_field(:confirm_password, :id => 'password2') >>>>> text_field(:addressline1, :id => 'b_address' ) >>>>> text_field(:addressline2, :id => 'b_address_2') >>>>> text_field(:city, :css => 'ml_panelregistration_field_textbox') >>>>> select_list(:state, :id => 'state') >>>>> text_field(:dateofbirth, :id => 'datepicker') >>>>> text_field(:pincode, :id => 'b_zipcode' ) >>>>> text_field(:mobile, :css => 'ml_panelregistration_field_textbox') >>>>> >>>>> >>>>> def fill_user_information >>>>> DataMagic.yml_directory = 'features/lib/Config/data' >>>>> DataMagic.load("user_from.yml") >>>>> populate_page_with data_for(:User_Data, data) >>>>> end >>>>> >>>>> end >>>>> >>>>> On Wednesday, August 10, 2016 at 12:01:22 PM UTC-5, Titus Fortner >>>>> wrote: >>>>>> >>>>>> Data is what is displayed by default when open a new browser. Your "Given >>>>>> I am on xxx homepage" is not working as desired. >>>>>> >>>>>> On Wednesday, August 10, 2016 at 11:51:33 AM UTC-5, Ajay Reddy wrote: >>>>>>> >>>>>>> Hi All, >>>>>>> >>>>>>> I am using page factory pattern, >>>>>>> >>>>>>> 1. >>>>>>> >>>>>>> Here is My class Homepage:- >>>>>>> >>>>>>> >>>>>>> class Homepage >>>>>>> include PageObject >>>>>>> include Configuration >>>>>>> >>>>>>> def open >>>>>>> goto("url") >>>>>>> end >>>>>>> >>>>>>> def sign_in >>>>>>> @browser.element(css: 'div.links-static ul li.account >>>>>>> div#login_user_data a.account').click -------------> I am >>>>>>> getting the error here >>>>>>> end >>>>>>> >>>>>>> def create_account >>>>>>> @browser.element(css: >>>>>>> 'div.ml_function.ml_function_arrowtoptoleft.padding_top_twenty.height_fifty >>>>>>> input.ml_function_button_createaccountRegister').click >>>>>>> endend >>>>>>> >>>>>>> 2. >>>>>>> >>>>>>> >>>>>>> >>>>>>> When(/^I click on sign in$/) do -------------> I am getting the >>>>>>> error here >>>>>>> on(Homepage).sign_in >>>>>>> end >>>>>>> >>>>>>> >>>>>>> 3. >>>>>>> >>>>>>> Scenario: User needs to create a new account >>>>>>> 4. >>>>>>> >>>>>>> Given I am on xxx homepage >>>>>>> >>>>>>> 5. >>>>>>> >>>>>>> When I click on sign in -------------> I am getting the >>>>>>> error here >>>>>>> 6. >>>>>>> >>>>>>> And I fill the user information >>>>>>> 7. >>>>>>> >>>>>>> And I click Create Account >>>>>>> 8. >>>>>>> >>>>>>> Then I should see the user details >>>>>>> >>>>>>> I am getting this error Watir::Exception::UnknownObjectException: >>>>>>> unable to locate element, using {:css=>"div.links-static ul li.account >>>>>>> div#login_user_data a.account"} >>>>>>> ./features/lib/pages/Homepage.rb:12:in `sign_in' >>>>>>> ./features/step_definitions/Homepage_steps.rb:6:in `/^I click on >>>>>>> sign in$/' >>>>>>> ./features/Homepage.feature:9:in `When I click on sign in' >>>>>>> >>>>>>> When I run the scenario what exactly I experienced is:- The browser >>>>>>> is opened but the url is not displaying in search bar, in search bar it >>>>>>> is >>>>>>> displaying the "data:,". I don't know why it is displaying the data. >>>>>>> >>>>>>> >>>>>>> Thank You, >>>>>>> Ajay. >>>>>>> >>>>>> -- >>>>> -- >>>>> 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] >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Watir General" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- > -- > 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] > > --- > You received this message because you are subscribed to the Google Groups > "Watir General" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- 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] --- You received this message because you are subscribed to the Google Groups "Watir General" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
